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
重要ではありません。重要なのは、それらが一意であることです。