python - 使用 python 从不同的点开始遍历文件和列表?

标签 python file-io iteration

所以我认为这应该是一个非常简单的过程。假设我有一个这样的文本文件。

football
baseball
basketball
soccer

例如像这样的列表

colors=["orange","white"]

我了解如何在 python 中一起遍历它们

for i,j in zip(file, colors)

但是有没有一种简单的方法可以让文件从第 3 行开始,这样如果打印出来我会得到的就是

basketball orange
soccer white

我了解如何使用 2 个列表执行此操作,但我不确定如何告诉文件从更下方开始。一如既往的感谢,我在这里还是个新人,每个人总是帮了大忙!

最佳答案

我愿意

next(file) # get and discard
next(file)
for i,j in zip(file, colors):
    # do stuff

然后是压缩操作。

如果您有超过 2 个或可变数量:

for _ in range(number_to_skip):
    next(file)
for i, j in zip(file, colors):
    # do stuff

这是可行的,因为文件不仅是可迭代的,而且还有它自己的迭代器。所以它自己给出它的值,而不是使用不同的迭代器对象(如 list 等人所做的那样)。

每个 next(file) 从文件中获取一行并继续前进。如果您达到了“真正的”迭代,那么您就到达了您想要到达的位置。

关于python - 使用 python 从不同的点开始遍历文件和列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696832/

相关文章:

python - 初学者 : python namespace collision?

C++ boost asio Windows 文件句柄 a​​sync_read_until 无限循环 - 没有 eof

sql-server - T-SQL : How to join tables without creating extra rows - need a one row to one row correspondance

javascript - 对 XML 文档中的特殊字符进行转义

python - 使用 for 和 while 循环对列表中的每个第 n 个范围进行切片

python - Pandas reshape 从 colname 中提取多个值

python - 创建数据库连接并维护多个进程(多处理)

java - 当我在 Android 模拟器上创建并尝试写入文件时,为什么会收到 FileNotFoundException?

c++ - cstdio(c++) 的简单二进制文件 I/O 问题

python - s.replace string方法,循环遍历字符串