【发布时间】:2016-06-15 20:56:04
【问题描述】:
我的问题来自这个discussion。我很抱歉,但由于我的水平,我无法添加评论以在另一个答案下提出我的问题。我有这个元组列表:
my_list = [('Scaffold100019', 98310), ('Scaffold100019', 14807), ('Scaffold100425', 197577), ('Scaffold100636', 326), ('Scaffold10064', 85415), ('Scaffold10064', 94518)]
我想制作一个字典,它只存储定义为元组第一个元素的每个键的最大值:
my_dict = {'Scaffold100019': 98310, 'Scaffold100425': 197577, 'Scaffold100636': 326, 'Scaffold10064': 94518}
从 Marcus Müller 的回答开始,我有:
d = {}
#build a dictionary of lists
for x,y in my_list: d.setdefault(x,[]).append(y)
my_dict = {}
#build a dictionary with the max value only
for item in d: my_dict[item] = max(d[item])
通过这种方式我达到了我的目标,但是,有没有更时尚的方式来完成这项任务?
【问题讨论】:
标签: list python-2.7 dictionary tuples