2017-07-16 108 views
-1

具体来说,我一直在试图创建一个代码,它将变量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

所以你需要将您的列表转换为字符串。您可以使用join()为:

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

docs

返回一个字符串,它是可迭代的字符串的连接。 如果在可迭代的 中包含任何非字符串值(包括字节对象),则将引发TypeError。元素之间的分隔符是 提供此方法的字符串。


或者使用map()

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

docs

返回适用功能的迭代, 产生结果每一个项目的迭代器。如果传递额外的迭代参数,则 函数必须采用多个参数,并将所有迭代项并行应用于项目 。使用多个迭代器时,迭代器 在最短迭代器耗尽时停止。


同样,如果你想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 
相关问题