【发布时间】:2021-10-07 20:02:46
【问题描述】:
从列表理解返回切片的(单行)语法是什么? 例如:
def foo(iterable):
ls = [_ for _ in iterable]
return ls[1:]
【问题讨论】:
-
list(iterable)应该等同于您的for generator。 Lambda 是函数的一种替代方案。但你可以做 list(iterable)[1:] -
完全不清楚你在问什么......你似乎已经有了答案。
-
itertools.islice是为任何可迭代对象获取切片的最通用解决方案。 -
同意之前的评论。
_对 Python 程序员来说意味着“我可以完全忽略这个值”,而不是“我懒得给它起名字,但它的值很重要”。使用x或i之类的。 -
itertools.islice(iterator, 1, None)删除迭代器的第一个元素。如果您希望将答案作为一个列表,请将其包装在list(...)中,或者将其保留为迭代器。
标签: python list-comprehension slice one-liner