Python 比较两个字符串列表并返回布尔值
我试图比较两个字符串列表并返回布尔值。但它总是只返回真或假Python 比较两个字符串列表并返回布尔值,python,python-3.x,Python,Python 3.x,我试图比较两个字符串列表并返回布尔值。但它总是只返回真或假 stringList = ["252.007", "546.658", "252.108"] paramValue = ["252.017", "546.658", "252.008"] def compareList(): return [x != stringList for x in paramValue] #return [x == stringList for x in paramValue] 输出应为包含
stringList = ["252.007", "546.658", "252.108"]
paramValue = ["252.017", "546.658", "252.008"]
def compareList():
return [x != stringList for x in paramValue]
#return [x == stringList for x in paramValue]
输出应为包含以下内容的列表:
[False, True, False]
我搞不懂,也不明白,如果我使用,为什么会返回[真的,真的,真的]返回[False,False,False]如果我使用==,有人能解释一下吗
TIA您可以使用它组合两个列表的元素,并在列表理解中比较它们
stringList = ["252.007", "546.658", "252.108"]
paramValue = ["252.017", "546.658", "252.008"]
def compareList(l1, l2):
return [i==j for i, j in zip(l1, l2)]
print(compareList(stringList, paramValue)) # -> [False, True, False]
你想要这样的吗
def comp():
return [stringList[i]==paramValue[i] for i in range(len(paramValue))]
使用
numpy
:
将numpy导入为np
stringList=np.array([“252.007”、“546.658”、“252.108”])
paramValue=np.array([“252.017”、“546.658”、“252.008”])
res=stringList==paramValue
输出:
[假-真-假]
请再加一点解释。@Netwave不要费心润色,找一个重复的,然后投票关闭。如果要将字符串与整个列表进行比较,字符串在某种程度上永远不等于列表。谢谢你的帮助。