У меня есть список Python в виде строк, и я хочу распечатать его как разнесенный и последовательный - PullRequest
1 голос
/ 18 апреля 2019

У меня есть список 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'

как я могу напечатать его как 'lowr', поместив пробел между ними без цикла?Так бы это выглядело как 'low-r'

Ответы [ 4 ]

4 голосов
/ 18 апреля 2019

Проверьте функцию Python str.join () . Это позволяет вам присоединиться к любой итерируемой, вставляя между кавычками "" в .join().

Вот так:

x = "hello world"

" ".join(x[2:10:2])
2 голосов
/ 18 апреля 2019

Просто объедините символы в списке с одним пробелом или с -, как вам хочется. При этом используется объединение , которое дает вам строку, сшитую из элементов списка с помощью указанного разделителя

x = "hello world"
print(' '.join(x[2:10:2]))
#l o w r
print('-'.join(x[2:10:2]))
#l-o-w-r
1 голос
/ 18 апреля 2019

Не уверен, что вы подразумеваете под циклом, но вы можете сделать следующее:

x = "hello world"
' '.join(y for y in x[2:10:2])
1 голос
/ 18 апреля 2019

Строки имеют метод .join(), который объединит элементы этой итерируемой со строкой, которую вы даете в середине. Например

>>> x = 'hello world'
>>> sep = ' '  # your separator is a space
>>> sep.join(x[2:10:2])
'l o w r'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...