【问题标题】:How can I create a dictionary from multiple tuples?如何从多个元组创建字典?
【发布时间】:2020-05-03 04:16:07
【问题描述】:

我有一堆元组:

Stadt = ("Berlin", "Santiago", "Madrid", "Dallas", "Mexico")
Befolkerung = (3.8, 5.6, 6.6, 1.34, 8.86)
Land = ("Deutschland", "Chile", "Spanien", "Vereinigte Staaten", "Mexico")
Breitengrad = (1,2,3,4,5)
Langengrad = (2,4,6,8,10)

我想用Stadt 作为键,其余元组作为值创建一个字典。你会怎么做呢?

【问题讨论】:

标签: python


【解决方案1】:
dict(zip(Stadt, zip(Befolkerung, Land, Breitengrad, Langengrad)))

【讨论】:

    【解决方案2】:

    zipdict 一起使用

    例如:

    Stadt = ("Berlin", "Santiago", "Madrid", "Dallas", "Mexico")
    Befolkerung = (3.8, 5.6, 6.6, 1.34, 8.86)
    Land = ("Deutschland", "Chile", "Spanien", "Vereinigte Staaten", "Mexico")
    Breitengrad = (1,2,3,4,5)
    Langengrad = (2,4,6,8,10)
    
    print(dict(zip(Stadt, zip(Befolkerung, Land, Breitengrad, Langengrad))))
    

    输出:

    {'Berlin': (3.8, 'Deutschland', 1, 2),
     'Dallas': (1.34, 'Vereinigte Staaten', 4, 8),
     'Madrid': (6.6, 'Spanien', 3, 6),
     'Mexico': (8.86, 'Mexico', 5, 10),
     'Santiago': (5.6, 'Chile', 2, 4)}
    

    【讨论】:

      【解决方案3】:
      yourdict = {}
      Stadt = ("Berlin", "Santiago", "Madrid", "Dallas", "Mexico")
      Befolkerung = (3.8, 5.6, 6.6, 1.34, 8.86)
      Land = ("Deutschland", "Chile", "Spanien", "Vereinigte Staaten", "Mexico")
      Breitengrad = (1,2,3,4,5)
      Langengrad = (2,4,6,8,10)
      for key in list(locals().keys()):
          if(not key.startswith('__')):
              yourdict[key] = locals()[key]
      print(yourdict)
      

      【讨论】:

        【解决方案4】:

        我不确定您对密钥的确切要求:

        以下代码有多个键:Stadt、Befolkerung、Land、Breitengrad、Langengrad

        dictionary={
            'Stadt':Stadt,
            'Befolkerung':Befolkerung,
            'Land':Land,
            'Breitengrad':Breitengrad,
            'Langengrad':Langengrad
        } 
        print(dictionary)
        

        输出:

        {
         'Stadt': ('Berlin', 'Santiago', 'Madrid', 'Dallas', 'Mexico'),
         'Befolkerung': (3.8, 5.6, 6.6, 1.34, 8.86),
         'Land': ('Deutschland', 'Chile', 'Spanien', 'Vereinigte Staaten', 'Mexico'),
         'Breitengrad': (1, 2, 3, 4, 5),
         'Langengrad': (2, 4, 6, 8, 10)
        }
        

        【讨论】:

          猜你喜欢
          • 2017-04-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-07
          • 1970-01-01
          • 2011-08-29
          相关资源
          最近更新 更多