使用 for 和 if 的列表理解来创建不重复的项目列表

问题描述 投票:0回答:1

我有一个清单

word_list = ['cat', 'dog', 'rabbit']
。 我想使用列表理解来打印列表中的每个单独字符,但删除任何重复的字符。这是我的代码:

word_list = ['cat', 'dog', 'rabbit']
letter_list = [""]
letter_list = [letter for word in word_list for letter in word if letter not in letter_list ]
print(letter_list)

这会返回

['c', 'a', 't', 'd', 'o', 'g', 'r', 'a', 'b', 'b', 'i', 't']

这不是想要的结果

['c', 'a', 't', 'd', 'o', 'g', 'r', 'b', 'i']
,我不明白为什么。

python list-comprehension
1个回答
0
投票

您无法从创建它的列表理解内部引用

letter_list
。不过你可以使用集合理解

letter_list = {letter for word in word_list for letter in word}

这给出了不按特定顺序排列的唯一字母。

© www.soinside.com 2019 - 2024. All rights reserved.