【发布时间】:2013-01-29 16:05:10
【问题描述】:
考虑下面的 Python 代码,我用它添加了一个新的 list2 所有索引从 1 到 3 的 list1 的项目:
for ind, obj in enumerate(list1):
if 4 > ind > 0:
list2.append(obj)
如果我无法通过枚举访问索引,您将如何使用列表理解来编写此内容?
类似:
list2 = [x for x in list1 if 4 > ind > 0]
但由于我没有ind 号码,这样可以吗?
list2 = [x for x in enumerate(list1) if 4 > ind > 0]
【问题讨论】:
-
我猜你的实际用例更复杂,但你可以简单地在这里切片
list1[1:4] -
你的意思是我可以在列表理解中对列表进行切片?喜欢:
[x for x in list1[1:4]]? -
@PavAmetvic,没有@wim 意味着你可以写
list2 = list1[1:4]
标签: python list list-comprehension