说我有这个清单:
alist = [2, 0, 1]
如何将名为“hahaha”的字符串设为例如201?不是5(总和)。 我需要像“
这样的东西吗?for number in alist .....
谢谢!
答案 0 :(得分:4)
答案 1 :(得分: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'
答案 2 :(得分:1)
怎么样:
>>> alist = [2, 0, 1]
>>> "".join(str(i) for i in alist)
'201'
join()
方法中的代码是generator expression。
答案 3 :(得分:1)
字符串连接函数需要一个字符串列表。
''.join([str(i) for i in alist])