如何获得元组中的所有最小值?

How to get all the minima in a tuple?

我有两个变量, 一=(“0”,“2”,“0”) b = ("珍妮", "克里斯蒂", "莫妮卡") 如果我 运行 代码

x = min(zip(a, b))
print(x)

我的输出将是 ('0', 'Jenny')

如果我想要输出- (('0', 'Jenny'),('0','Monica))- 我应该怎么做?

其实你想要amin:

>>> [(i, j) for i, j in zip(a, b) if i == min(a)]
[('0', 'Jenny'), ('0', 'Monica')]

如果比较每个元组,则 ('0', 'Jenny') < ('0', 'Monica')

a = ("0", "2", "0")
b = ("Jenny", "Christy", "Monica")
x = list(zip(a, b))
output = []

for i in range(len(x)):
    if min(a) in x[i]:
        output.append(x[i])

print(output)

实际上,当您的代码在 a 中找到两个最小值时,它也会比较 b 的最小值,并发现 'Jenny' 第一个字母 J 小于 'Monica' 第一个字母'M'。这就是为什么它 returns 只有一个值

a = ("0", "2", "0")
b = ("Jenny", "Christy", "Monica")
x = ()
for i in range(len(a)):
    if a[i] == "0":
        x += (a[i],b[i])

print(x)



#Brute force way.