将混合列表转换为字符串

时间:2019-10-17 22:22:09

标签: python string list

我有下面的列表,其中包含字符串和整数。如何制作一串呢?尝试使用

''.join(l)

,但是它不起作用,因为列表上有整数(特别是L[1]是整数,其他都是字符串。)。你能帮忙吗?

L=['1', 9, ':', '0', '5', ':', '4', '5']
#expected "19:05:45"

4 个答案:

答案 0 :(得分:4)

您可以使用for循环或列表理解将列表中的每个数字转换为字符串。像这样:

l = ['1', 9, ':', '0', '5', ':', '4', '5']

''.join([str(x) for x in l])

'19:05:45'

答案 1 :(得分:4)

在这种情况下,发电机是完美的:

>>> l = ['1', 9, ':', '0', '5', ':', '4', '5']
>>> ''.join(str(x) for x in l)
'19:05:45'

这看起来与列表理解相同,但是不需要创建另一个列表实例。

答案 2 :(得分:2)

在连接之前只需将所有元素映射到字符串。

>>> ''.join(map(str,['1', 9, ':', '0', '5', ':', '4', '5']))
'19:05:45'

答案 3 :(得分:1)

您可以在for循环中完成

list_str = ''
for i in l:
    list_str += str(i)

或具有列表理解力的

list_str = ''.join([str(i) for i in l])