如何将for loop
中的结果保存到variable
?
基本上这个例子中的印刷品是什么:
myList = ['a' ,'b' , 'c' , 'd' , 'e']
for i in myList:
print i
结果:
>>>
a
b
c
d
e
>>>
我想将此打印结果准确保存到变量中。
到现在为止我解决了这个问题:
myList = ['a' ,'b' , 'c' , 'd' , 'e']
for i in myList:
if "a" in i:
v1 = i
if "b" in i:
v2 = i
if "c" in i:
v3 = i
allresults = v1+"\n"+v2+"\n"+v3
print allresults
但问题是,如果您不知道列表的长度,因为它一直在变化(JSON),那么您将无法获得所有结果。
需要有一种更简单的方法,我在这里找到的所有其他人的信息都与数学等特定科目有关。
更具体地说,我试图将for循环的结果存储到变量中,这不是关于列表的问题。
答案 0 :(得分:3)
根据您提供的代码,您似乎希望为每个项目提供某种类型的变量。所以,为此使用字典。
myList = ['a' ,'b' , 'c' , 'd' , 'e']
my_dict = {}
for idx, val in enumerate(myList):
my_dict["v{}".format(idx)] = val
因此,当您打印my_dict
时。你将拥有:
{'v0': 'a', 'v1': 'b', 'v2': 'c', 'v3': 'd', 'v4': 'e'}
无论列表有多大,您都将拥有在那里创建的所有密钥,您可以相应地引用它们。
示例:
print(my_dict['v3']) # outputs d
如果你想以你希望输出的方式打印出你所有的价值,那么你所要做的就是:
.values
完全符合它的含义。获取字典的值。然后,使用join
方法将其分为字符串,并按'\ n'将其分隔换行。
print('\n'.join(my_dict.values()))
输出:
a
b
c
d
e
如果最后您真正要做的是“垂直”输出列表,那么其他解决方案就足够了,即print('\n'.join(myList))
答案 1 :(得分:2)
我真的不明白你为什么要做这样的事情,但我相信你想做这样的事情:
>>> my_var = '\n'.join(myList)
>>> my_var
'a\nb\nc\nd\ne'
>>> print my_var
a
b
c
d
e
>>>
答案 2 :(得分:2)
您可以创建一个字符串来保存输出并立即打印出来。
myList = ['a' ,'b' , 'c' , 'd' , 'e']
str = ""
for i in myList:
str += i + "\n"
print str
答案 3 :(得分:2)
如果您尝试将所有列表值粘贴在一起(由某些文本分隔),则应使用join方法。
myList = ['a' ,'b' , 'c' , 'd' , 'e']
allresults = "\n".join(myList)
print allresults
答案 4 :(得分:2)
有两种方法可以像allresults
一样制作字符串:
1)从一个emptry字符串开始,展开它
allresults = ''
for c in MyList:
if allresults: allresults += '\n'
allresults += c
print allresults
2)使用内置.join()
字符串方法来完成相同的
allresults = '\n'.join(myList)
print allresults
但是将循环变量保存到变量doens非常有意义,myList
已经是变量。