如何比较包含操作的两个字符串?我尝试使用 运算符而没有成功
list_1=['check value 1','check value 2']
list_2=['12312 check value 1 ','234 check value 2']
for ele in list_1:
if ele in list_2:
print 'element present'
else:
print 'abscent'
结果
abscent
abscent
我知道我们可以使用list_2中的另一个循环和 中的所有元素来比较它们。我很好奇是否有更好的方法。
答案 0 :(得分:5)
您需要针对list_2
中的每个元素进行测试;使用列表中的成员资格要求整个字符串出现在列表中。
for partial in list_1:
if any(partial in value for value in list_2):
print 'element present'
else:
print 'absent'
此处any()
function与生成器表达式相结合,一旦找到匹配项,至少停止搜索。
答案 1 :(得分:1)
您的代码只需稍加改动: - )
list_1=['check value 1','check value 2']
list_2=['12312 check value 1 ','234 check value 2']
for ele in list_1:
for list2_ele in list_2:
if ele in list2_ele:
print 'element present'
else:
print 'absent'
你只需要第二个for循环: - )