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

Python中能否遍历列表打印变量名+值并求和(不使用字典)

解决方案:不用字典关联变量名与值并实现遍历打印+求和

嘿,这个问题挺实际的!你现在定义的Census = [A,B,C,D,E,F]里只存储了变量的值,完全没有保留变量名的信息,所以直接遍历这个列表是拿不到对应的变量名的。不过不用字典也能搞定,咱们换个方式存储就行:

步骤1:用元组列表关联变量名与值

把每个变量的名字(字符串形式)和对应的值打包成元组,再放进列表里。这样既保留了关联关系,又不用字典,后续添加新变量也超方便:

# 先补全F的赋值(你原来的代码里F没给值哦)
A, B, C, D, E, F = 10, 20, 15, 50, 16, 25
# 用元组列表存储变量名和值
Census = [('A', A), ('B', B), ('C', C), ('D', D), ('E', E), ('F', F)]

步骤2:遍历打印变量名与值

直接遍历这个元组列表,就能同时拿到变量名和对应的值了:

for var_name, var_value in Census:
    print(f"变量 {var_name} 的值是:{var_value}")

运行后会输出:

变量 A 的值是:10
变量 B 的值是:20
变量 C 的值是:15
变量 D 的值是:50
变量 E 的值是:16
变量 F 的值是:25

步骤3:计算总和

求和的时候只需要提取每个元组里的数值部分就行,用生成器表达式配合sum()函数很简洁:

total = sum(value for _, value in Census)
print(f"所有变量的总和是:{total}")

这里的_是占位符,表示我们不需要元组里的第一个元素(变量名),只取第二个元素(值)。

后续添加新变量

如果之后要加新的变量,比如G=30,直接往列表里append新的元组就行,完全不用折腾字典和列表的转换:

G = 30
Census.append(('G', G))
# 之后再遍历或求和都会包含G的值

这种方式完美符合你的需求:不用字典,能遍历打印变量名和值,求和方便,后续扩展也简单。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:03:31