如何在python中使用str(a [i])将数组转换为字符串

时间:2012-09-21 19:10:40

标签: python

我可以使用str.join将数组转换为字符串,但我的作业也要求我使用str(a[i])转换数组的每个元素,然后将它们一起追加。

我完全迷失了如何做到这一点。任何帮助都会很棒!

2 个答案:

答案 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。在每次迭代时循环astr(element)附加到b的元素。在b上使用str.join。微笑。