如何打印命名为list+i的变量?i为循环变量(含示例代码)
循环打印动态命名变量的解决方法
你原代码里的print(listi)无法实现需求,Python不会自动将i作为后缀拼接成变量名,以下是两种简单的实现方式:
方法1:通过全局/局部变量字典取值
利用globals()(全局变量)或locals()(局部变量)函数获取变量字典,拼接键名来获取对应变量的值:
list1 = 1 list2 = 10 list3 = 100 for i in range(1, 4): # 全局变量用globals(),函数内局部变量用locals() print(globals()[f'list{i}'])
方法2:使用容器类型(更推荐)
这种动态命名变量的写法可读性差、维护麻烦,更规范的方式是用列表或字典存储数据:
列表实现
my_list = [1, 10, 100] for num in my_list: print(num)
字典实现(保留类似原变量名的键)
my_dict = {'list1': 1, 'list2': 10, 'list3': 100} for i in range(1, 4): print(my_dict[f'list{i}'])
内容的提问来源于stack exchange,提问作者BigBO
相关产品推荐
相关产品推荐

