【问题标题】:How to get all the minima in a tuple?如何获得元组中的所有最小值?
【发布时间】:2021-08-28 04:57:51
【问题描述】:

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

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

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

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

【问题讨论】:

标签: python zip min


【解决方案1】:

其实你想要amin

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

如果你比较每个元组,那么 ('0', 'Jenny')

【讨论】:

    【解决方案2】:
    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'。这就是为什么它只返回一个值

    【讨论】:

      【解决方案3】:
      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.
      

      【讨论】:

      • 很抱歉打扰我毫无疑问禁止。为什么你认为 ff =['1c','2','3','4','5','6'] for i in ff: print(type(i), min(ff), type( min(ff))),给出 1c 作为最小值
      • 好吧,我只是想帮忙。我认为它会受到影响,因为它是一个字符串。大声笑
      猜你喜欢
      • 2013-06-11
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多