You need to enable JavaScript to run this app. Python如何打印列表中存储的变量名而非变量对应的取值
优惠活动
大模型
产品
解决方案
定价
更多

Python如何打印列表中存储的变量名而非变量对应的取值

实现方案

首先要明确:你当前的写法里,objects 存储的是所有变量对应的百分比取值,本身不包含变量名信息,没法直接从 objects 中提取变量名。推荐你选择以下两种方案实现需求:

方案1:改用字典存储(最推荐)

直接用键值对存储姓名和对应分数,后续取姓名、取分数、遍历都非常方便,也不会因为重值导致匹配错误:

# 定义字典,键为姓名字符串,值为对应分数
student_info = {
    "ALI_ELDIYAB": "80.80%",
    "BILAL_HASSAN": "78%",
    "DANIA_RAHMANI": "71.20%",
    "DANIEL_AIGBE": "78%",
    "HAMD_ALFARES": "72%",
    "KHALED_AL_SHAIBANI": "74%",
    "LINA_ISSA": "70%",
    "LUMA_ABDELAZIZ": "78%",
    "MARIAM_BASHER": "44%",
    "MOHAMMED_BINDAGHER": "74.80%",
    "NADAY_ALHAMMALI": "77.60%",
    "NISRIIN_ABDI": "67.60%",
    "OMAR_HAFEZ": "66.80%",
    "OMAR_SLEIMAN": "83.20%",
    "OMAR_MOUSTAFA": "77.60%",
    "RAHAF_IBRAHIM": "68.80%",
    "RASIL_ALSAKKA": "82%",
    "SETYA_GHAHREMANI": "82%",
    "SHARMAAKE_HANDBO": "59.20%",
    "YAHYA_ABDELBAGI": "64%",
    "YOUSIF_KASHWAN": "76.40%"
}

# 打印所有姓名
print(student_info.keys())

# 遍历打印姓名和对应分数示例
for name, score in student_info.items():
    print(f"姓名:{name},分数:{score}")

方案2:全局变量匹配(不推荐,仅作参考)

如果必须保留你现有的变量定义,可以通过全局变量表匹配取值找对应变量名,但该方案在多个变量取值相同时会出现匹配错误(你的现有代码里就有多个78%、82%的重复取值,这种场景下不适用):

# 你原有的赋值代码
objects = [ALI_ELDIYAB,BILAL_HASSAN,DANIA_RAHMANI,DANIEL_AIGBE,HAMD_ALFARES,KHALED_AL_SHAIBANI,LINA_ISSA,LUMA_ABDELAZIZ,MARIAM_BASHER,MOHAMMED_BINDAGHER,NADAY_ALHAMMALI,NISRIIN_ABDI,OMAR_HAFEZ,OMAR_SLEIMAN,OMAR_MOUSTAFA,RAHAF_IBRAHIM,RASIL_ALSAKKA,SETYA_GHAHREMANI,SHARMAAKE_HANDBO,YAHYA_ABDELBAGI,YOUSIF_KASHWAN] = ["80.80%","78%","71.20%","78%","72%","74%","70%","78%","44%","74.80%","77.60%","67.60%","66.80%","83.20%","77.60%","68.80%","82%","82%","59.20%","64%","76.40%"]

def get_var_name(value):
    for k, v in globals().items():
        if v == value:
            return k
    return None

# 打印匹配到的变量名,重复取值只会返回第一个匹配到的变量名
for val in objects:
    print(get_var_name(val))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 07:57:03