如何将字典中列表值替换为对应列表的最大值
字典值为列表时,将每个键对应值转为列表最大值
原字典:
dict1 = {'d1': [1, 1, 2], 'd11': [1, 1, 4, 1], 'd16': [1, 1, 5]}
期望结果:
dict1 = {'d1': 2, 'd11': 4, 'd16': 5}
解决方案
用字典推导式遍历原字典的每个键值对,对每个列表值调用max()函数即可:
dict1 = {'d1': [1, 1, 2], 'd11': [1, 1, 4, 1], 'd16': [1, 1, 5]} dict1 = {key: max(value) for key, value in dict1.items()} print(dict1)
如果之前单独用max()没成功,是因为直接对整个字典调用max()只会比较键的大小,而非每个列表内部的最大值。通过遍历每个键值对,就能精准获取每个列表的最大值并替换原列表。
内容的提问来源于stack exchange,提问作者rsajdak
相关产品推荐
相关产品推荐

