【问题标题】:Convert list of tuples and list to dictionary将元组列表和列表转换为字典
【发布时间】:2021-11-10 10:38:21
【问题描述】:

我有一个元组列表

data = [(2015-10-08,2016-07-17,2015-09-09,2014-01-29),(Alex, Jerry, Tony, Tom), (5,6,7,8)]

我有一个列表,这个列表包含列标题。 标题 = [日期、姓名、年龄] 有了这个列表和元组列表,我想要一本字典。 这是预期的输出

output = {1:{'Date': 2015-10-08,2016-07-17,2015-09-09,2014-01-29} ,{'Name' : Alex, Jerry, Tony, Tom}, {'Age' : 5,6,7,8}}

【问题讨论】:

  • 输出应该是:output = {'Date':(2015-10-08,2016-07-17,2015-09-09,2014-01-29) ,'Name' : (Alex, Jerry, Tony, Tom), 'Age' : (5,6,7,8)},其中value是元组?
  • 不,先生!其实我需要上面提到的字典字典
  • 内部字典应该有一个键值对,在你的情况下似乎不是这样..从你的输出来看,内部嵌套字典可以是元组或列表
  • 对不起!现在问题已被编辑。谢谢

标签: python list dictionary tuples


【解决方案1】:

试试这个:

dict(zip(title, data))

或者让他们设置:

dict(zip(title, map(set, data)))

【讨论】:

    【解决方案2】:

    试试:

    output = {}
    output["Date"] = set(data[0])
    output["Name"] = set(data[1])
    output["Age"] = set(data[2])
    

    【讨论】:

      【解决方案3】:
      data = [('2015-10-08','2016-07-17,2015-09-09','2014-01-29'),('Alex', 'Jerry', 'Tony', 'Tom'), (5,6,7,8)]
      title = ['Date', 'Name', 'Age']
      
      your_dict = {key: value for key, value in zip(title, data)}
      

      【讨论】:

      • 这当然可行,但是dict 构造函数已经按原样获取zip 的输出...... 尽管如此,我喜欢在这里得到这个答案,因为我认为它清楚地表明了什么是继续。
      【解决方案4】:

      这是解决方案之一:

      data = [('2015-10-08','2016-07-17','2015-09-09','2014-01-29'),('Alex', 'Jerry', 'Tony', 'Tom'), ('5','6','7','8')]
      title = ['Date', 'Name', 'Age']
      output = {}
      for i in range(len(title)):
          output[i+1] = {title[i]: ",".join(data[index])}
          
      print (output)
      

      输出:

      {1: {'Date': '2015-10-08,2016-07-17,2015-09-09,2014-01-29'}, 2: {'Name': '2015-10-08,2016-07-17,2015-09-09,2014-01-29'}, 3: {'Age': '2015-10-08,2016-07-17,2015-09-09,2014-01-29'}}
      

      【讨论】:

        猜你喜欢
        • 2013-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-20
        • 2017-06-07
        相关资源
        最近更新 更多