字符串现在我有一个列表转换列表到python3
>>> 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
是否有我们可以acheivie这个其他方法吗?
谢谢
字符串现在我有一个列表转换列表到python3
>>> 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
是否有我们可以acheivie这个其他方法吗?
谢谢
你可以做到这一点:
print('.'.join(str(x) for x in deints))
谢谢。即使它是为Python 2我明白我需要添加,使其运行在python 3 –
@Neapolitan [你错了。](http://stackoverflow.com/a/9061024/1672429) –
将它们转换为字符串,然后加入它们。尝试使用:
".".join([str(x) for x in x])
您可以使用字符串join
方法和对数据的列表,以字符串先转换。
>>> '.'.join(map(str, deints))
'10.10.10.50'
join
取的字符串作为一个分隔符并连接列表的每个元件之间的这种分隔符的内容。
显然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'
只是一个非join
解决方案。
>>> print(*deints, sep='.')
10.10.10.50
'打印( '' 加盟(图(STR,deints)))转换列表为字符串]的' – styvane
可能的复制(http://stackoverflow.com/questions/2906092/converting -a-list-to-a-string) – PyNEwbie