Jerry~Mouse 发表于 2021-10-8 15:15:31

关于print

dict1 = ...
dict2 = ...
dict3 = ...
for i in range(1,4):
    print(dicti)

这样时无法依次print dict123的 好像程序把dict i 看成了一个整体 说我没有定义它
如何才能依次print呢

逃兵 发表于 2021-10-8 15:20:12


dict1 = ...
dict2 = ...
dict3 = ...
for i in range(1,4):
    print(eval('dict'+str(i)))

Jerry~Mouse 发表于 2021-10-8 15:24:53

逃兵 发表于 2021-10-8 15:20


能解释一下print(eval('dict'+str(i)))这个语句吗 尤其是eval的作用 谢谢啦

逃兵 发表于 2021-10-8 15:31:41

将字符串'dict' 和 字符串 str(i) 拼接成新的字符串
这样就有了f'dict{i}'这样的新字符串
eval()简单来说就是去引号
字符串'dict1'去引号,就成了变量名dict1

搭配f字符串更好使用

dict1 = ...
dict2 = ...
dict3 = ...
for i in range(1,4):
    print(eval(f'dict{i}'))

冬雪雪冬 发表于 2021-10-8 15:34:07

dict1 = {1: 2}
dict2 = {2: 3}
dict3 = {3: 4}
for i in range(1, 4):
    print(globals()['dict%s'%i]

Jerry~Mouse 发表于 2021-10-8 17:22:51

逃兵 发表于 2021-10-8 15:31
将字符串'dict' 和 字符串 str(i) 拼接成新的字符串
这样就有了f'dict{i}'这样的新字符串
eval()简单来说 ...

这里f有什么意思吗,还有什么地方可以用到f呢

wp231957 发表于 2021-10-8 17:30:32

Jerry~Mouse 发表于 2021-10-8 17:22
这里f有什么意思吗,还有什么地方可以用到f呢

字符串格式化
页: [1]
查看完整版本: 关于print