python parse只打印列表的第一行

用户名

我有一个列表'a',在这里我需要用文本文件'hello.txt'的行打印列表中所有匹配的字母,但是它只打印列表和行中的第一个单词而不是所有列表和线

a=['comp','graphics','card','part']

with open('hello.txt', 'r') as f:
    for key in a:
        for line in f:
            if key in line:
                print line, key

结果为:

comp and python
comp

所需的输出:

comp and python
comp
graphics and pixel
graphics
micro sd card
card
python part
part

请帮助我获得期望的输出。答案将不胜感激!

tobias_k

文件对象f是一个迭代器。迭代之后,它就筋疲力尽了,因此您的for line in f:循环仅适用于第一个键。将这些行存储在中list,这样就可以了。

a=['comp','graphics','card','part']
with open('hello.txt', 'r') as f:
    lines = f.readlines()  # loop the file once and store contents in list
    for key in a:
        for line in lines:
            if key in line:
                print line, key

另外,您也可以交换循环,因此只将文件迭代一次。如果文件很大,这可能会更好,因为您不必一次将所有内容加载到内存中。当然,这样您的输出可能会略有不同(以不同的顺序)。

a=['comp','graphics','card','part']
with open('hello.txt', 'r') as f:
    for line in f:     # now the file is only done once...
        for key in a:  # ... and the key loop is done multiple times
            if key in line:
                print line, key

或者,如Lukas在评论中所建议的那样,使用原始循环并通过调用f.seek(0)外部key循环的每次迭代来“重置”文件迭代器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python只识别我输入的第一行

来自分类Dev

用列表替换Python中的第一行

来自分类Dev

如何在Python中打印列表的最后一行?

来自分类Dev

在python中的一行中打印列表

来自分类Dev

python 2d列表在一行中打印

来自分类Dev

如何在python列表中打印上一行和下一行

来自分类Dev

即使存在 for 循环,Python df.to_csv 也只打印最后一行

来自分类Dev

循环两个文件仅打印第一行python

来自分类Dev

在python 2和3中的第一行上打印

来自分类Dev

Python:将列表写入csv,将第一行换成一列

来自分类Dev

Python Writer跳过第一行

来自分类Dev

跳过python中的第一行

来自分类Dev

在一行python3中打印一个int列表

来自分类Dev

在Python中仅打印一行

来自分类Dev

如何在python中使用CSV文件的第一行创建列表

来自分类Dev

如何基于python中的第一行字母将多维列表按字母顺序排序

来自分类Dev

Python:在一行中优雅地打印列表中的所有*剩余*元素

来自分类Dev

使用python同时将多个文本文件的最后一行作为列表打印

来自分类Dev

将Python中的字典列表打印到.csv中的唯一行中

来自分类Dev

为什么这段代码(Python)只返回一行?

来自分类Dev

python socket只接收最后一行

来自分类Dev

Python从for循环打印时打印下一行

来自分类Dev

Python 中的“打印”命令(在同一行打印)

来自分类Dev

Python列表理解一行

来自分类Dev

Selenium Python遍历在第一行停止的行表

来自分类Dev

Python在同一行上打印多个行值

来自分类Dev

Python Pandas无法读取csv文件的第一行

来自分类Dev

如何在Python中读取数组的第一行

来自分类Dev

使用Python stdin跳过第一行?

Related 相关文章

热门标签

归档