将列表转换为python3中的字符串

时间:2016-05-22 17:27:23

标签: python

现在我有一个清单

>>> deints
[10, 10, 10, 50]

我想将其打印为10.10.10.50。我做到了

方法1

>>> print(str(deints[0])+'.'+str(deints[1])+'.'+str(deints[2])+'.'+str(deints[3]))
10.10.10.50

还有其他方法可以解决这个问题吗?

谢谢

6 个答案:

答案 0 :(得分:3)

你可以用:

print('.'.join(str(x) for x in deints))

答案 1 :(得分:3)

您可以对字符串使用join方法,并且必须先将列表中的数据转换为字符串。

>>> '.'.join(map(str, deints))
'10.10.10.50'

join将字符串作为分隔符,并使用每个元素之间的分隔符连接列表的内容。

答案 2 :(得分:2)

非常简单。看看str.join

print '.'.join([str(a) for a in deints])

来自文档的引文:

  

<强> str.join(迭代)

     

返回一个字符串,该字符串是可迭代 iterable 中字符串的串联。元素之间的分隔符是提供此方法的字符串。

答案 3 :(得分:1)

显然str.join()是最短的方式

'.'.join(map(str, deints))

或者如果您不喜欢map()使用列表理解

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

您也可以手动执行此操作,使用*deints列表转换为一系列函数参数

'{}.{}.{}.{}'.format(*deints)

或使用functools.reducelambda函数

reduce(lambda y, z: '{}.{}'.format(y, z), x)

全部返回

'10.10.10.50'

答案 4 :(得分:0)

只是非join解决方案。

>>> print(*deints, sep='.')
10.10.10.50

答案 5 :(得分:-1)

将它们转换为字符串,然后加入它们。尝试使用:

".".join([str(x) for x in x])