纯小白一枚
求教,
我想要一种效果
利用循环使得变量名逐渐增加,就像是a1,a2,a3,a4这种
大神们有什么有什么浅显易懂的方法实现,太高级了我也看不懂。
谢谢~
d = {} #用字典保存变量吧
for i in range(1,6):
d[f'a{i}'] = i*5;
print(d['a1'])
print(d['a2'])
print(d['a3'])
print(d['a4'])
print(d['a5'])
【转载】 Python动态生成变量 - nookia - 博客园 (cnblogs.com)
a1 = 0;
for i in range(0,50):
a1+=1;
lst = [];
for i in range(0,50):
lst.append({'a'+str(i):"something here"+str(i)})
print(lst)
print(lst[0]['a0'])
def test_list_pre():
prepare_list = locals()
for i in range(16):
prepare_list['list_' + str(i)] = []
prepare_list['list_' + str(i)].append(('我是第' + str(i)) + '个list')
print(prepare_list['list_0'])
print(prepare_list['list_1'])
print(prepare_list['list_2'])
print(prepare_list['list_3'])
if __name__ == '__main__':
test_list_pre()
d 是字典,就是用字典中的键名来代替变量名,
d['a1']就是设置/获取字典中的键名为a1的值。
f'' 是模板字符串,可以把字符串中{}里的变量直接取值,
如:i=1
f'a{i}'的结果是'a1'
d[f'a{i}'] 就是设置键名为a1的值
也可以这样
d['a'+str(i)] = i*5;
用列表推导式,可以获得变量名按序号增加。
lis=[f'a{i}' for i in range(10)]
print(*lis,sep=',')
Python 3.8.3 (default, May 27 2020, 02:08:17) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> for i in range(4): ... exec('a%d=%d'%(i,i)) ... >>> print(a0,a1,a2,a3) 0 1 2 3 >>>
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632