我可以使用str.join
将数组转换为字符串,但我的作业也要求我使用str(a[i])
转换数组的每个元素,然后将它们一起追加。
我完全迷失了如何做到这一点。任何帮助都会很棒!
答案 0 :(得分:7)
>>> str(lis)
'[1, 2, 3, 4, 5]'
这是错误的,因为您需要将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'
使用生成器:
>>> ''.join(str(x) for x in lis)
'12345'
使用map()
:
>>> lis=[1,2,3,4,5]
>>> ''.join(map(str,lis))
'12345'
map()
将作为第一个参数传递的函数应用于作为第二个参数传递的iterable的每个项目,并返回一个列表(在python 3.x中返回一个map对象)
答案 1 :(得分:1)
假设您从列表a
开始,请创建一个新的(空)列表b
。在每次迭代时循环a
将str(element)
附加到b
的元素。在b上使用str.join
。微笑。