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

Python中如何对列表内变量值排序后输出对应变量名?

实现方案

你当前的代码只存储了变量的数值,排序后丢失了数值和变量名的对应关系,所以需要先将变量名和对应的值绑定存储,再排序输出。

最简实现代码

x = 0
y = 9
z = 3

# 存储(值, 变量名)的元组,建立值和名称的对应关系
items = [(x, 'x'), (y, 'y'), (z, 'z')]
# 按值倒序排序
items.sort(reverse=True)

# 遍历输出变量名
for value, name in items:
    print(name)

代码说明

  • 用元组把变量值和对应的字符串名称绑定,排序时默认优先按元组的第一个元素(也就是变量值)比较,不需要额外指定排序规则
  • 排序后遍历直接取元组的第二个元素(变量名)输出,即可得到你需要的y/z/x输出结果
  • 额外提醒:你原代码中for x in range(...)的循环变量名和你定义的变量x重名,会覆盖原有x的取值,建议修改循环变量名避免冲突

可选简化写法(变量较多时更适用)

如果变量数量多,手动写元组比较麻烦,可以用字典存储对应关系:

x = 0
y = 9
z = 3

var_dict = {'x':x, 'y':y, 'z':z}
# 按字典的值倒序排序
sorted_vars = sorted(var_dict.items(), key=lambda item: item[1], reverse=True)

for name, value in sorted_vars:
    print(name)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:54:03