2024-05-23 09:06:11 发布
网友
我有一个字典将id映射到一个数据值列表,比如so:dic = {id_ : [v1, v2, v3, v4]}。 我试图遍历字典中的每个值并检索列表映射的某个索引的max/m in。
dic = {id_ : [v1, v2, v3, v4]}
我想做的是这样的事情:
maximum = max([data[0], ??) for id_, data in self.dic.items()])
……但显然这行不通。可以像上面那样一行一行地做吗?
你需要像这样使用它:
maximum = max(data[0] for data in dic.values())
因为您没有使用keys,所以只需使用dict.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中)效率更高。
你需要像这样使用它:
因为您没有使用
keys
,所以只需使用dict.values()
来获取值。使用generator expression和^{} :
注意:^{} 返回字典值上的iterator,而不进行复制,因此比^{} (在Python<;3中)效率更高。
相关问题 更多 >
编程相关推荐