考虑使用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中的变量?
对于这个问题的愚蠢而感到抱歉,但这是一个我似乎无法弄清楚的概念。
答案 0 :(得分:1)
如果我理解得很好,你想动态创建变量。在这里。
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')])
答案 1 :(得分:1)
var = ''
friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
for i in friends:
var=i
如果list和loop在函数中,则将var声明为global
global var
启动功能
答案 2 :(得分:1)
我也有这个问题,这就是我设法设法解决的问题:
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
答案 3 :(得分:0)
如果要将friends
中的值加入逗号分隔的字符串中,那么
s = ','.join(friends)
如果你想在名字中包含引号,可能就像
s = ','.join(['"{0}"'.format(x) for x in friends])
答案 4 :(得分:0)
在循环结束时尝试:
the_variable = the_variable + i
但是,如果你要这样做,你应该在字典中的每个项目的末尾添加一个空格,否则它将输出:
JoeZoeBradAngelinaZukiThandiParis
答案 5 :(得分:0)
我会改用字典,因为我花了一段时间研究,并确定字典会很容易。
friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
dict= {}
for i in friends:
dict[i] = i
print(dict)
print(dict['Zuki'])
dict['Zuki'] = "Tim Smith"
print(dict['Zuki'])
“其他”选项是只拨打电话号码:
print(friends[0])
关于自动分配,我还没有找到一种方法。