0

从列表理解返回切片的(单行)语法是什么?例如:

def foo(iterable):
    ls = [_ for _ in iterable]
    return ls[1:]
4

2 回答 2

2

为什么不能简单地对列表理解进行切片?

def foo(iterable):
    return [_ for _ in iterable][1:]
于 2021-10-07T20:11:40.450 回答
0

在您的情况下,您可以:

list(iterable)[2:] 

但您也可以:

[ i for i in range(10)][2:]

out[1] [2, 3, 4, 5, 6, 7, 8, 9]

只是其他一些技巧,从最后切入:

[ i for i in range(10)][-2:]

out[2] [8, 9]

条件列表理解:

[ i for i in range(10) if i%2==0]
out[3] [0, 2, 4, 6, 8]
于 2021-10-07T20:16:15.777 回答