Используя Python, я пытаюсь преобразовать предложение слов в плоский список всех различных букв в этом предложении.Как перейти из списка слов в список различных букв в Python
Вот мой текущий код:
words = 'She sells seashells by the seashore'
ltr = []
# Convert the string that is "words" to a list of its component words
word_list = [x.strip().lower() for x in words.split(' ')]
# Now convert the list of component words to a distinct list of
# all letters encountered.
for word in word_list:
for c in word:
if c not in ltr:
ltr.append(c)
print ltr
Этот код возвращает ['s', 'h', 'e', 'l', 'a', 'b', 'y', 't', 'o', 'r']
, который является правильным, но есть более Pythonic способ этот ответ, вероятно, с помощью списковых/set
?
Когда я пытаюсь объединить вложение и фильтрацию списка, я получаю списки списков вместо плоского списка.
Порядок отдельных букв в конечном списке (ltr
) не имеет значения; важно то, что они уникальны.
+1 за хорошо сформулированный вопрос и в том числе вашу попытку (то, что долгожданное зрелище!) – bernie
Обратите внимание, что 'str.split' по умолчанию к расщеплению на пробелы, поэтому' .split (» ') 'обычно пишется' .split() '. –