在一个循环中,是否有一个命名和打印变量值而不是名称的速记?

2024-10-01 09:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在单个循环中初始化和分配变量,就像我以前在Stata中一样,使用静态元素+iterable元素。为了清楚起见,我编辑了这些例子。我之所以要这样做是因为它允许我在一个循环中对具有不同内容的变量执行操作。我不能只打印一个固定的字符串然后再打印其他内容

有点像(伪代码):

for each `x' in 1/10:
 print var`x' 

这将打印,而不是“var1,var2,var3,etc.”,而是包含在var1,var2,var3中的实际值,只要它们之前已经定义过

或者你甚至可以做这样的事情,再次使用伪代码:

foreach `x' in 1/10:
 thing`x' = `x'

这将在同一个循环中的一个步骤中初始化变量并将一个值放入其中。有没有一种方法可以在python中做这种事情,或者像我在其他地方读到的那样,是“unpythonlike”还是或多或少被禁止的

我现在没有急事。在最坏的情况下,我可以把长长的打印语句链连接起来。但让我烦恼的是,我不能仅仅通过在循环中调用一堆串行变量来打印我想要的结果。我试过

Books1 = Dogs
Books2 = Cats
Books3 = Lemurs

for x in range(10):
 for y in [books]:
  print y, x

但这就是

Books1
Books2 
Books3

当我需要的时候:


Dogs
Cats
Lemurs

如果有人能给我指出正确的方向,我将不胜感激


Tags: 代码in元素内容for事情printdogs
1条回答
网友
1楼 · 发布于 2024-10-01 09:23:21

您不需要迭代books

for idx in range(10):
    print("Author's name", idx)

>> Author's name 0
>> Author's name 1
>> Author's name 2
>> Author's name 3
>> Author's name 4
>> Author's name 5
>> Author's name 6
>> Author's name 7
>> Author's name 8
>> Author's name 9

相关问题 更多 >