-1

说我有这个清单:

alist = [2, 0, 1]

我如何使一个名为“hahaha”的字符串例如等于 201 ?不是 5(总和)。我需要像“

for number in alist .....

谢谢 !

4

4 回答 4

4

您可以''.join()结合使用map()

>>> alist = [2, 0, 1]
>>> ''.join(map(str, alist))
'201'
于 2013-09-15T19:53:33.980 回答
3

这是你要找的吗?

hahaha = ''.join([str(num) for num in alist])
print hahaha  # '201'

解释发生了什么:

这部分[str(num) for num in alist]被称为“列表理解”——它就像一个非常浓缩for-loop的将一个列表转换为另一个列表。在这种情况下,它[2, 0, 1]变成['2', '0', '1'].

(当然,我们可以把它写成一个 for 循环而不是一个列表推导式,但是它需要更多的代码行,而且输入起来有点乏味)

部分部分''.join(list)采用字符串列表,并将它们与空字符串作为分隔符粘在一起。如果我要这样做'+'.join([str(num) for num in alist]),则输出将是'2+0+1'

因此,该行可以被认为是一系列将初始列表缓慢转换为字符串的转换。

[2, 0, 1] -> ['2', '0', '1'] -> '201'

我们还可以将整个过程包装成一个函数,如下所示:

def make_str(list):
    return ''.join([str(num) for num in list])

print make_str([4, 3, 2, 9])  # '4329'
print make_str([9, 0, 0, 9])  # '9009'
于 2013-09-15T19:53:43.263 回答
1

关于什么:

>>> alist = [2, 0, 1]
>>> "".join(str(i) for i in alist)
'201'

方法内部的代码join()是一个生成器表达式

于 2013-09-15T19:54:31.593 回答
1

字符串连接函数需要一个字符串列表。

''.join([str(i) for i in alist])
于 2013-09-15T19:55:06.147 回答