Используя 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']
, что правильно, но есть ли более питонский способ ответа на этот вопрос, возможно, с использованием списочных пониманий / set
?
Когда я пытаюсь совмещать вложенность и фильтрацию по списку, я получаю списки списков вместо плоского списка.
Порядок отдельных букв в окончательном списке (ltr
) не важен; важно, чтобы они были уникальными.