Python - 如何将元组列表排序为字典或等效项?

我有一个包含单词及其各自类别的元组列表。无论如何,我可以将它们聚集成字典之类的东西吗?


样本数据:


Data = [('word1 word2 word3', 2),

 ('word4 word5 word6', 3),

 ('word7 word8 word9', 3),

 ('word10 word11 word12', 2),

 ('word13 word14 word15', 1)]

预期输出:


Out = {'1': 'word13 word14 word15'

'2': 'word1 word2 word3', 'word10 word11 word12'

'3': 'word4 word5 word6', 'word7 word8 word9'}

是否可以以这种方式对其进行排序?我应该使用什么功能。请给我建议,因为我有大量数据。以上只是一个例子。谢谢你


宝慕林4294392
浏览 179回答 3
3回答

德玛西亚99

您显示的所需输出不完全有效。要获得最接近的有效内容,请使用defaultdict带有空列表的 anew_dict = defaultdict(list)for values, key in Data:    new_dict[key].append(values)

温温酱

您可以使用defaultdict这里,然后从那里使用sorted与dict()构造函数来创建以字典回你的愿望from collections import defaultdictdd = defaultdict(list)  for v, k in data:    dd[k].append(v)d = dict(sorted(dd.items(), key=lambda x: x[0])) print(d)# {1: ['word13 word14 word15'], 2: ['word1 word2 word3', 'word10 word11 word12'], 3: ['word4 word5 word6', 'word7 word8 word9']}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python