Вот мой обычный вложенный цикл с условием if и членством в новом списке:
wordlist = ["micro", "macro", "stats"]
letterlist = []
for aword in wordlist:
for aletter in aword:
if aletter not in letterlist:
letterlist.append(aletter)
print(letterlist)
, который печатает буквы без дубликатов: ['m', 'i', 'c', 'r', 'o', 'a', 's', 't']
Когда я пытаюсь сделать то же самое, используя понимание списка, я могу только пройти через вложенные циклы:
wordlist = ["micro", "macro", "stats"]
letterlist = [aletter for aword in wordlist for aletter in aword]
print(letterlist)
Это печатает все буквы с дубликатами: ['m', 'i', 'c', 'r', 'o', 'm', 'a', 'c', 'r', 'o', 's', 't', 'a', 't', 's']
К сожалению, это не работает:
wordlist = ["micro", "macro", "stats"]
letterlist = [[if aletter not in letterlist] for aword in wordlist for aletter in aword]
Вопрос: Как мне выполнить команду nestloop с оператором if, используя списковое понимание, основанное на моем примере выше?
Заранее спасибо