在Python中将带有lenght 5的元组列表转换为字典

时间:2016-04-15 23:11:46

标签: python dictionary tuples

如果我有这样的元组列表怎么办:

list =  [('Ana', 'Lisbon', 42195, '10-18', 2224),
        ('Eva', 'New York', 42195, '06-13', 2319),
        ('Ana', 'Tokyo', 42195, '02-22', 2403),
        ('Eva', 'Sao Paulo', 21098, '04-12', 1182),
        ('Ana', 'Sao Paulo', 21098, '04-12', 1096),
        ('Dulce', 'Tokyo', 42195, '02-22', 2449),
        ('Ana', 'Boston', 42195, '04-20', 2187)]

如何将其转换为类似这样的词典?

dict = {'Ana': [('Ana', 'Lisboa', 42195, '10-18', 2224),('Ana', 'Toquio',42195, '02-22', 2403), 
      ('Ana', 'Sao Paulo', 21098, '04-12', 1096),('Ana', 'Boston', 42195, '04-20', 2187)],
      'Dulce': [('Dulce', 'Toquio', 42195, '02-22', 2449)],
      'Eva': [('Eva', 'Nova Iorque', 42195, '06-13', 2319), 
      ('Eva', 'Sao Paulo', 21098, '04-12', 1182)]}

2 个答案:

答案 0 :(得分:4)

您可以像这样遍历列表:

PackageManager

答案 1 :(得分:-1)

lst =  [('Ana', 'Lisbon', 42195, '10-18', 2224),
        ('Eva', 'New York', 42195, '06-13', 2319),
        ('Ana', 'Tokyo', 42195, '02-22', 2403),
        ('Eva', 'Sao Paulo', 21098, '04-12', 1182),
        ('Ana', 'Sao Paulo', 21098, '04-12', 1096),
        ('Dulce', 'Tokyo', 42195, '02-22', 2449),
        ('Ana', 'Boston', 42195, '04-20', 2187)]

dct = {}

for tp in lst:
    if  tp[0] not in dct.keys():
        dct[tp[0]] = []
    dct[tp[0]].append(tp)
print dct