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