说我有这个清单:
alist = [2, 0, 1]
我如何使一个名为“hahaha”的字符串例如等于 201 ?不是 5(总和)。我需要像“
for number in alist .....
谢谢 !
说我有这个清单:
alist = [2, 0, 1]
我如何使一个名为“hahaha”的字符串例如等于 201 ?不是 5(总和)。我需要像“
for number in alist .....
谢谢 !
这是你要找的吗?
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'
字符串连接函数需要一个字符串列表。
''.join([str(i) for i in alist])