我有一个python列表,我想按顺序打印它们并在它们之间隔开
x = "hello world"
>>> x[2:10] # this prints from 'l' to 'd' allway
>>> x[2:10:2] # this prints from 'l' to 'd' in the order of two,
'lowr'
我如何像'l o w r'一样打印它,在它们之间放置一个空格字符而没有循环?所以看起来像是'l-o-w-r'
答案 0 :(得分:4)
查看Python的str.join()函数。它使您可以加入任何迭代,同时在""
中的引号.join()
之间插入任何内容。
像这样:
x = "hello world"
" ".join(x[2:10:2])
答案 1 :(得分:2)
只需将列表中的字符用单个空格或-
连接起来即可。这使用了join,它为您提供了一个字符串,该字符串由给定的分隔符与列表的元素缝合在一起
x = "hello world"
print(' '.join(x[2:10:2]))
#l o w r
print('-'.join(x[2:10:2]))
#l-o-w-r
答案 2 :(得分:1)
字符串有一个.join()
方法,该方法将可迭代的元素与您在中间给出的字符串连接在一起。例如
>>> x = 'hello world'
>>> sep = ' ' # your separator is a space
>>> sep.join(x[2:10:2])
'l o w r'
答案 3 :(得分:1)
不确定没有循环的含义,但是您可以执行以下操作:
x = "hello world"
' '.join(y for y in x[2:10:2])