【问题标题】:How to print (list+i) where i is a variable and (list+i) is a variable name? [duplicate]如何打印 (list+i) where i is a variable and (list+i) is a variable name? [复制]
【发布时间】:2023-01-15 01:07:21
【问题描述】:
list1=1
list2=10
list3=100
for i in range (1,4):
  print(listi)

例如,我有 3 个列表,其中它们的名称与列表相同但与 i 不同。如何以简单的方式打印列表(i)?

【问题讨论】:

  • 这通常是个坏主意。而是创建一个真实的列表。
  • 与链接的问题不同,我建议使用更直接的方法。 Python 提供了 locals() 字典,其中已经包含范围内可用的变量。因此,在您的情况下,您需要打印 locals()[f'list{i}'] 。使用内置的 globals() 字典,全局变量也会发生同样的事情

标签: python


【解决方案1】:

如果您只想打印:

for i in range (1,4):
  print('list{}'.format(i))

#output
list1
list2
list3

以上值为字符串。

如果你想将它们用作变量。创建一个dictionary 来存储键和值。

可能是这样的:

d = {'list1': 1, 'list2': 10, 'list3': 100}
d['list1'] #1
d['list2'] #10
d['list3'] #100

【讨论】:

  • 现在您已经生成了变量的名称,例如 list2,他们希望打印该变量的值,而不是名称。所以在这种情况下10
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-26
  • 1970-01-01
  • 2021-11-16
  • 2018-08-23
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
相关资源
最近更新 更多