python - 从某个点创建一个迭代器

标签 python

例如我有一个列表

L = [1,33,55,777,'abc'....]

我想从某个点开始迭代它,比如从第二个元素开始,这就是我以前做的

for x in L[1:]:
    print(x)

这样可以工作,但是对原始列表的一部分进行了浅拷贝,或者我可以使用下标

for x in range(1,len(L)):
    print(l[x])

在 python 中有没有一种方法可以以较低的成本创建迭代器?它可能看起来像这样:

for x in iter(L,1): #iter from index 1 to the end
    print(L[x])

最佳答案

from itertools import islice
for x in islice(L, 1, None): # start=1, stop=None
    print(x)

关于python - 从某个点创建一个迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15805795/

相关文章:

javascript - 如何在 django 中按列过滤表

python - 如果 Pandas 系列中包含列表中的单词,则替换部分字符串的最快方法

python - 选择图像上的边界框并进行注释

python - 从 JSON 文件创建 dynamoDB 表

python - 从表中随机选择行 - Python Pandas 读取 SQL

python - 为什么一定要用__new__来初始化一个对象?

python - 翻转一维 NumPy 数组中的零和一

python - 统一码编码错误 : 'ascii' codec can't encode characters in position 90-96: ordinal not in range(128)

python - 为什么 Python 的 yield 语句会形成一个闭包?

python - 我如何通过 telethon API 向我的联系人发送消息 python telegram