现在我有一个清单
>>> deints
[10, 10, 10, 50]
我想将其打印为10.10.10.50
。我做到了
>>> print(str(deints[0])+'.'+str(deints[1])+'.'+str(deints[2])+'.'+str(deints[3]))
10.10.10.50
还有其他方法可以解决这个问题吗?
谢谢
答案 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.reduce
和lambda
函数
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])