【发布时间】:2022-01-16 05:14:21
【问题描述】:
我在比较 Python 中的字符串/子字符串时遇到了一些问题。 这是我的代码:
spelformer = "V86-1 V75-1 GS75-1".split()
l_count = 0
for line in input:
print(line.split())
print(spelformer)
l_count += 1
if line in spelformer:
print("ja")
else:
print("nej")
break
这是结果:
runfile('G:/Min enhet/Python/Travscript.py', wdir='G:/Min enhet/Python')
['V86-1']
['V86-1', 'V75-1', 'GS75-1']
nej
我可以看到,line 等于 V86-1,spelformer 等于 V86-1,因此它应该是匹配的。但是结果还是“nej”=“no”。
有人知道为什么吗?
抱歉新手问题..
【问题讨论】:
-
为什么是
break?它在第一次迭代后结束循环,总是...... -
Also...
input给你一个字符串(除非你足够大胆地重新定义这个内置函数),循环遍历这个字符串的单个字符;input本身也不应该是可迭代的,如果用作input(),它会返回一个可迭代的... -
已解决,使用 .strip()。我的输入文件中有一些隐藏的空格或其他内容。 “中断”只是在第一行之后结束循环,因为文件很大,我正在测试我的想法。不需要对所有行进行测试。