You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中从字典生成的成对矩阵中找出数值更高的键

解决方案

要实现你需要的矩阵效果,只需修改原代码的核心逻辑,从拼接键改为对比对应数值并显示更大值的键,同时保留原有的上三角区域显示规则,具体代码如下:

name = {'a': 10, 'b': 50, 'c': 20, 'd': 30}

# 打印表头
print("\t".join([''] + list(name.keys())))

# 遍历每个键作为行标识
for a in name:
    row = [a]
    # 遍历每个键作为列标识
    for b in name:
        # 仅处理行键小于列键的上三角区域
        if a < b:
            # 对比两个键对应的数值,取更大值的键
            row.append(b if name[b] > name[a] else a)
        else:
            # 下三角及对角线位置留空
            row.append('')
    # 输出当前行,用制表符分隔
    print("\t".join(row))

逻辑说明

  1. 表头直接使用字典的键生成,保持和原代码一致的列顺序
  2. 外层循环遍历每个键作为行标识,内层循环遍历每个键作为列标识
  3. 仅在行键小于列键的位置(上三角区域)进行数值对比,显示对应数值更大的键;其他位置留空,维持原矩阵的结构

运行代码后,输出结果与你期望的完全一致:

a     b     c     d
a          b     c     d
b                b     b
c                      d
d

内容的提问来源于stack exchange,提问作者Lateeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 23:55:31