gpt4 book ai didi

python - 给定一个列表字典,是否有一种 pythonic 智能方法来比较每个列表的第 i 个元素并提取最大值?

转载 作者:行者123 更新时间:2023-12-01 15:21:10 27 4
gpt4 key购买 nike

我有一个像下面这样的字典:

{
'k0': [10, 35, 20],
'k1': [2, 0, 40],
'k2': [21, 400, 5],
}

我想获得一个列表,其中每个第 i 个位置都有最大值。例如,在这种情况下:

max_val_list = [21, 400, 40]

目前的做法(这对我来说太乱了): 1. 提取列表:

    k0_list = dicc_name[k0]
k1_list = dicc_name[k1]
k2_list = dicc_name[k2]
  1. 找到最大值:
    for i, item in enumerate(k0_list):
max_val_list.append(max([item, k1_list[i], k2_list[i]]))

我确信一定有一种方法可以直接从字典中优雅地完成它,我想学习。

最佳答案

您可以压缩字典的值,并获取每列的最大值:

data = {
'k0': [100, 35, 20],
'k1': [2, 0, 40],
'k2': [21, 400, 5],
}

[max(col) for col in zip(*data.values())]
# [100, 400, 40]

关于python - 给定一个列表字典,是否有一种 pythonic 智能方法来比较每个列表的第 i 个元素并提取最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59153167/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com