Как перебирать буквы в строке, игнорируя пробелы? - PullRequest
0 голосов
/ 07 февраля 2020

Я уже давно ищу это и не могу найти ответ, который мне помогает.

for i in range(len(string)):
    list.append(string)
return list

Если, например, строка содержит пробелы, она, очевидно, будет содержать дополнительные строки

например, если string = ' Hello '

Выходные данные

[' Hello ', ' Hello ', ' Hello ', ' Hello ', ' Hello ', ' Hello ', ' Hello ']

Вместо

[' Hello ',' Hello ',' Hello ',' Hello ',' Hello ']

Если строка была ' Test String ', пробелы в середине также должны игнорироваться, давая список длины 10.

Ответы [ 2 ]

1 голос
/ 07 февраля 2020

Чтобы игнорировать пробелы, вы можете использовать следующий код. Обратите внимание, что я изменил имя переменной с list на lst, так как list затеняет встроенную функцию python. Вместо того, чтобы перебирать индексы длины строки, мы просто перебираем буквы в строке.

string = ' Test String '
lst = []

for letter in string:
    if letter != ' ':
        lst.append(string)

print(lst)

Вывод:

[' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ', ' Test String ']
>>> len(lst)
10

Альтернативно, в качестве списка-списка:

>>> [string for c in string if c.strip()]
[' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ']

Это работает путем перебора букв в строке и проверки, является ли каждый символ с пропущенным пробелом пустой строкой или нет.

0 голосов
/ 07 февраля 2020

Выполнение просто

lis = [string for c in string if c != ' ']

приведет к выводу

[' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ',
 ' Test String ']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...