列表切片,如果列表长度为1,则获取最后一项

Ber*_*rdL -2 python list slice

我知道如果我这样做:

>> a = [1,2,3,4]
>> a[:-1]

Output:  [1,2,3]
Run Code Online (Sandbox Code Playgroud)

但:

>> a = [1]
>> a[:-1]

Output:  []
Run Code Online (Sandbox Code Playgroud)

虽然在这种情况下,第一个是最后一个,反之亦然 如果列表长度为1,如何选择最后一项?

sch*_*ggl 5

你可以使用简单或三元if-else:

slc = a[:] if len(a) == 1 else a[:-1]
Run Code Online (Sandbox Code Playgroud)