我有一本像下面这样的字典:
{
'k0': [10, 35, 20],
'k1': [2, 0, 40],
'k2': [21, 400, 5],
}
Run Code Online (Sandbox Code Playgroud)
我想获得一个列表,列表的每个第 i 个位置都有最大值。例如,在这种情况下:
max_val_list = [21, 400, 40]
Run Code Online (Sandbox Code Playgroud)
目前的做法(对我来说似乎太混乱了): 1. 提取列表:
k0_list = dicc_name[k0]
k1_list = dicc_name[k1]
k2_list = dicc_name[k2]
Run Code Online (Sandbox Code Playgroud)
{
'k0': [10, 35, 20],
'k1': [2, 0, 40],
'k2': [21, 400, 5],
}
Run Code Online (Sandbox Code Playgroud)
我相信一定有一种方法可以直接从字典中以优雅的方式做到这一点,我想学习。
您可以zip获取 dict 的值,并获取每列的最大值:
data = {
'k0': [100, 35, 20],
'k1': [2, 0, 40],
'k2': [21, 400, 5],
}
[max(col) for col in zip(*data.values())]
# [100, 400, 40]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |