Return 列表理解切片
Return slice from list comprehension
从列表理解返回切片的(单行)语法是什么?
例如:
def foo(iterable):
ls = [_ for _ in iterable]
return ls[1:]
为什么不能简单地对列表理解进行切片?
def foo(iterable):
return [_ for _ in iterable][1:]
在您的情况下,您可以:
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]
从列表理解返回切片的(单行)语法是什么? 例如:
def foo(iterable):
ls = [_ for _ in iterable]
return ls[1:]
为什么不能简单地对列表理解进行切片?
def foo(iterable):
return [_ for _ in iterable][1:]
在您的情况下,您可以:
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]