函数“ join”和“ split”必须显示单词[5:6]和[10]

时间:2019-01-25 09:13:00

标签: python-3.x

我的代码中加入了以下内容

(' '.join(s.split()[10:14])

但是我也想打印单词[16],我已经尝试过“和”,“ +”等,但是没有运气 希望有人可以帮助我:-)

3 个答案:

答案 0 :(得分:1)

这是一种方法:

>>> s = 'But i also want to print word [16], i have tried "and", "+" etc. but no luck Hope somebody can help me :-)'
>>> a = s.split()
>>> print(' '.join([*a[10:14],a[16]]))
tried "and", "+" etc. luck

答案 1 :(得分:1)

您可以通过slice方法使用多个operator.itemgetter对象,并使用itertools.chain.from_iterable来连接切片,这样就不必将同一字符串分割两次或存储结果临时变量中的拆分:

from operator import itemgetter
from itertools import chain
print(' '.join(chain.from_iterable(itemgetter(slice(10, 15), slice(16, 17))(s.split()))))

答案 2 :(得分:0)

您可以在单独提取两个字符串后将它们连接起来。

示例字符串:

s = '1  2  3 4 5 6  7  8  9  10 11 12  13 14 15 16 17 18 19'

' '.join(s.split()[10:14]) + ' ' + s.split()[15]

此外,正如@blhsing指出的那样,此处可能不需要第二个联接,并且只能将split的第16个元素添加为字符串。还在两个字符串之间添加了空格。

输出:

Out[19]: '11 12 13 14 16