2024-05-12 05:21:58 发布
网友
假设我有这个清单:
thelist = ['apple','orange','banana','grapes'] for fruit in thelist:
所有的水果都会吃这个。在
但是,如果我想从橙色开始呢?而不是从苹果开始? 当然,我可以做“如果…继续”,但一定有更好的方法吗?在
使用python优雅的slices
>>> for fruit in thelist[1:]: >>> print fruit
正如paulmcguire所提到的,对列表进行切片会创建一个副本来存储结果。如果您有一个包含500000个元素的列表,那么执行l[2:]操作将创建一个新的499998元素列表。在
l[2:]
要避免这种情况,请使用itertools.islice:
itertools.islice
>>> thelist = ['a', 'b', 'c'] >>> import itertools >>> for i in itertools.islice(thelist, 1, None): ... print i ... b c
for fruit in thelist[1:]: ...
当然,假设您知道从哪个索引开始。但您可以很容易地找到索引:
使用python优雅的slices
正如paulmcguire所提到的,对列表进行切片会创建一个副本来存储结果。如果您有一个包含500000个元素的列表,那么执行
l[2:]
操作将创建一个新的499998元素列表。在要避免这种情况,请使用
itertools.islice
:当然,假设您知道从哪个索引开始。但您可以很容易地找到索引:
^{pr2}$相关问题 更多 >
编程相关推荐