gpt4 book ai didi

python - 元组与整数的比较

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:34 25 4
gpt4 key购买 nike

我正在尝试进行元组比较。我期望结果为 2,但这段代码打印出 0。为什么?

tup1 = (1, 2, 3, 4, 5)
tup2 = (2, 7, 9, 8, 5)
count = 0

if tup1[0:5] == tup2[0]:
count + 1
elif tup1[0:5] == tup2[1]:
count + 1
elif tup1[0:5] == tup2[2]:
count + 1
elif tup1[0:5] == tup2[3]:
count + 1
elif tup1[0:5] == tup2[4]:
count + 1
print(count)

最佳答案

你可以用一组交叉点做你想做的事:

len(set(tup1) & set(tup2))

交集 返回两个元组中的公共(public)项:

>>> set(tup1) & set(tup2)
{2, 5}

对交集的结果调用 len 给出两个元组中共同项的数量。

但是,如果任何元组中存在重复的项目,则以上将不会给出正确的结果。你将需要做,比如说理解,来处理这个:

sum(1 for i in tup1 if i in tup2) # adds one if item in tup1 is found in tup2

您可能需要更改元组出现的顺序,具体取决于其中哪些元组具有重复项。或者,如果两者都包含重复项,您可以将两个元组并列进行两次运行,并从两次运行中获取最大值。

关于python - 元组与整数的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38624020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com