我有一个字符串列表,每个字符串都有一个或多个单词。我需要从这个列表中列出一个独特的单词列表。我可以用两个嵌套循环轻松做到这一点,但我不明白为什么我没有使用集合理解得到相同的结果。
嵌套循环:
import re
items = ['17th C White', 'Accra White', 'Acid White']
word_list = set()
for item in items:
for word in re.split("\s|[-'/]", item):
word_list.add(word)
print(word_list)
嵌套循环的结果(正确):
{'White', 'Acid', 'Accra', '17th', 'C'}
集合理解:
import re
items = ['17th C White', 'Accra White', 'Acid White']
word_list = {word for word in re.split("\s|[-'/]", item) for item in items}
print(word_list)
集合理解的结果(不正确):
{'White', 'Acid'}
为什么我从集合理解中没有得到相同的结果?