有没有办法将列表变量转换为非列表变量?

时间:2017-07-16 11:58:09

标签: python python-3.x

具体来说,我一直试图创建一个代码,将变量my_list分配给非列表变量,不带任何空格或逗号。

my_list= [3, 4, 5, 9]  # Has to be integers  
my_var= ' '  
...

最后的预期结果:

my_var = 3459  

然而,问题在于我可以完全相反,而是用字母代替:

variable = 'hello'  
mylist = [ ]  
for item in variable:  
    mylist.append(item)   
print(mylist)

1 个答案:

答案 0 :(得分:1)

因此您需要将列表转换为字符串。您可以使用join()

my_var = ''.join(str(x) for x in my_list)

来自docs

  

返回一个字符串,该字符串是iterable中字符串的串联。   如果有任何非字符串值,则会引发TypeError   可迭代的,包括字节对象。元素之间的分隔符是   提供此方法的字符串。

或使用map()

my_var = ''.join(map(str, my_list))

来自docs

  

返回一个迭代器,它将函数应用于每个iterable项,   产生结果。如果传递了其他可迭代参数,   函数必须采用那么多参数并应用于项目   来自所有可迭代的并行。有多个迭代,迭代器   当最短的可迭代用尽时停止。

同样,如果您希望my_var成为int,只需执行int(my_var)

示例:

>>> my_list= [3, 4, 5, 9]
>>> my_var = ''.join(str(x) for x in my_list)
>>> my_var
'3459'
>>> int(my_var)
3459
>>> my_var = ''.join(map(str, my_list))
>>> my_var
'3459'
>>> int(my_var)
3459