将循环结果赋给Python中的变量

2024-09-23 22:29:11 发布

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

考虑一个我想用for解析的列表:

friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
for i in friends:
   print i

将返回:

"Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"

但是,如果我想把它放到(str)变量中,比如:

friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
for i in friends:
    var=i

首先,我必须声明另一个var变量,这很愚蠢,但无论如何。 那么

print var

将返回列表的最后一个元素,即“Paris”,因为每次迭代都会覆盖该变量。

所以我的问题是:如何将循环“I”的输出(每次迭代)分配给Python中的变量?

很抱歉这个问题太愚蠢了,但这个概念我似乎搞不清楚。


Tags: in声明列表forvarprintjoeparis
3条回答

我还有一个问题,这就是我是如何设法解决它的:

    friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]

    new_friends = ' '.join([x for x in friends])

    print(new_friends)

将返回:

    Joe Zoe Brad Angelina Zuki Thandi Paris

如果我理解得很好,您可以动态地创建变量。给你。

from collections import OrderedDict

friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
d = OrderedDict()
for idx, value in enumerate(friends):
    key = 'var' + str(idx)
    d[key] = value 

print(d)
# Output
OrderedDict([('var0', 'Joe'), ('var1', 'Zoe'), ('var2', 'Brad'), ('var3', 'Angelina'), ('var4', 'Zuki'), ('var5', 'Thandi'), ('var6', 'Paris')])
var = ''
friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
for i in friends:
    var=i 

如果list和loop在函数中,则将var声明为global

global var

在功能开始时

相关问题 更多 >