-1

I can convert an array into a string using str.join but my assignment asks me too convert each element of the array using str(a[i]) and then append them together.

I am completely lost on how to do this. Any help would be awesome!

4

2 回答 2

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()将作为第一个参数传递的函数应用于作为第二个参数传递的迭代的每个项目,并返回一个列表(在 python 3.x 中返回一个地图对象)

于 2012-09-21T19:12:32.657 回答
1

假设您从 list 开始a,请创建一个新的(空) list b。在每次迭代中循环a附加str(element)到的元素。在 b 上b使用。str.join微笑。

于 2012-09-21T19:13:04.067 回答