我有一个文本文件,我在其中输入特定的6位代码,以检查它们是否在主文本文件中
文本文件如下所示:
'MAIN.txt'
4d5x1x spongebob
2c4b66 bonk
svx123 patrick
'input.txt'
2c4b66
为了确定值“input.txt”是否在“MAIN.txt”中,我使用了以下代码:
list1 = list()
list2 = list()
with open('input.txt', 'r') as f:
_input = [value[:6] for value in f]
with open('MAIN.txt') as ff:
for line in ff:
# for loop
for x in _input:
if x == line[:6]:
list1.append(x)
# list comprehension
list2 = [k for k in _input if k == line[:6]]
输出:
list1 - ['2c4b66']
list2 - []
_input - ['2c4b66']
为什么列表理解没有捕获任何价值
问题在于控制结构:每个
line in ff
有一个不同的list2
值,但有一个全局list1
。因此list1
收集与输入匹配的所有行,但在程序过程中,list2
是:另一个解决方案:您也可以尝试以下方法:
您可能打算编写以下代码:
在这里,我将
list1
和list2
都设置为空列表,并在循环中的适当时间调用.append()
输出:
这显示了
list2
如何捕获2c4b66
仅匹配MAIN.txt
的第二行这一事实相关问题 更多 >
编程相关推荐