我可以使用数组将数组转换为字符串,str.join但是我的赋值也要求我使用转换数组的每个元素,str(a[i])然后将它们一起追加.
我完全迷失了如何做到这一点.任何帮助都是极好的!
你想做的事:
>>> str(lis)
'[1, 2, 3, 4, 5]'
Run Code Online (Sandbox Code Playgroud)
这是错误的,因为你需要应用于str()单个元素而不是数据结构本身(相当于lis.__str__()),因此循环遍历元素并应用于str()单个元素.
解决方案:
可读版本:
>>> lis1=[]
>>> for item in lis:
lis1.append(str(item)) #append the `str()` version of each item to lis1
>>> lis1
['1', '2', '3', '4', '5']
>>> ''.join(lis1)
'12345'
Run Code Online (Sandbox Code Playgroud)
使用发电机:
>>> ''.join(str(x) for x in lis)
'12345'
Run Code Online (Sandbox Code Playgroud)
使用map():
>>> lis=[1,2,3,4,5]
>>> ''.join(map(str,lis))
'12345'
Run Code Online (Sandbox Code Playgroud)
map() 将作为第一个参数传递的函数应用于作为第二个参数传递的iterable的每个项目,并返回一个列表(在python 3.x中返回一个map对象)