Lis字典最大/最小值

2024-05-17 10:57:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字典将id映射到一个数据值列表,比如so:dic = {id_ : [v1, v2, v3, v4]}。 我试图遍历字典中的每个值并检索列表映射的某个索引的max/m in。

我想做的是这样的事情:

maximum = max([data[0], ??) for id_, data in self.dic.items()])

……但显然这行不通。可以像上面那样一行一行地做吗?


Tags: 数据inid列表data字典sov3
2条回答

你需要像这样使用它:

maximum = max(data[0] for data in dic.values())

因为您没有使用keys,所以只需使用dict.values()来获取值。

使用generator expression^{}

In [10]: index = 0

In [11]: dictA = { 1 : [22, 31, 14], 2 : [9, 4, 3], 3 : [77, 15, 23]}

In [12]: max(l[index] for l in dictA.itervalues())
Out[12]: 77

注意:^{}返回字典值上的iterator,而不进行复制,因此比^{}(在Python<;3中)效率更高。

相关问题 更多 >