Как удалить буквы из строки алфавитов - PullRequest
0 голосов
/ 12 января 2020
def remove_keyword(modified_keyword):
  global plain_alpha
  for i in modified_keyword:
      if i in plain_alpha:
        plain_alpha.replace(i, "")
        print(plain_alpha)


  return plain_alpha

print(remove_keyword(keyword))

-------------------------------------------- -----

Итак, запрос таков: метод возвращает измененную строку. В этом примере все символы в «зебрах» удаляются из простого алфавита «abcdefghijklmnopqrstuvwxyz» для создания «cdfghijklmnopqtuvwxy».

Ответы [ 4 ]

1 голос
/ 12 января 2020

Строковые методы не изменяют строки на месте, поскольку строки являются неизменяемыми. Это означает, что вызов replace не меняет plain_alpha; вместо этого возвращается новая строка. Измените

plain_alpha.replace(i, "")

на

plain_alpha = plain_alpha.replace(i, "")

Я сосредоточился на том, чтобы заставить код работать только. Пожалуйста, не стесняйтесь редактировать / комментировать улучшения, такие как не использование глобальных переменных.

0 голосов
/ 12 января 2020
  1. Проверка, является ли буква в строке избыточной.
  2. Строка в python неизменна, поэтому замена не изменит содержимое строки, а вместо этого вернет новую строку .

    def remove_keyword(modified_keyword):
    global plain_alpha
    for i in modified_keyword:
        plain_alpha = plain_alpha.replace(i, "")
    return plain_alpha
    
    print(remove_keyword(keyword))
    
0 голосов
/ 12 января 2020

Измените это, и оно должно работать

plain_alpha = plain_alpha.replace(i, "")
0 голосов
/ 12 января 2020

Вы можете попробовать это, чтобы получить желаемый результат.

>>>a='zebra'
>>>b='abcdefghijklmnopqrstuvwxyz'
>>> for i in a:
        b=b.replace(i,'')
>>> b
'cdfghijklmnopqtuvwxy'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...