我有一个文本文件,我在其中输入特定的 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']
为什么列表理解没有捕获任何价值?
您可能打算编写以下代码:
with open('input.txt', 'r') as f:
_input = [value[:6] for value in f]
list1 = []
list2 = []
with open('MAIN.txt') as ff:
for line in ff:
# for loop
for x in _input:
if str(x) == str(line[:6]):
list1.append(x)
# list comprehension
list2.append([k for k in _input if k == line[:6]])
print(list1)
print(list2)
print(_input)
在这里,我将list1
和都设置list2
为空列表并.append()
在循环中的适当时间调用。
输出:
['2c4b66']
[[], ['2c4b66'], []]
['2c4b66']
这显示了如何list2
捕获2c4b66
仅匹配第二行的事实MAIN.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句