函数set(),删除重复的字母而不是重复的单词

时间:2018-07-08 20:25:31

标签: python

当我有:

overflow = set("overflow") # output: {"o", "v", "e", "r", "f", "l", "w"}

但是,如果我有

variable = set("car", "train", "bike", "boat", "airplaine")

我要删除重复的字母,而不是重复的单词。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我对问题的看法:

from itertools import chain

variable = set(chain.from_iterable(["car", "train", "bike", "boat", "airplaine"]))
print(variable)

输出:

{'o', 'a', 'l', 'c', 'i', 't', 'b', 'e', 'r', 'p', 'n', 'k'}

答案 1 :(得分:1)

您可以将集合连接在一起,成为没有定界符的单个字符串,然后根据各个字母创建另一个集合:

>>> variable = set(["car", "train", "bike", "boat", "airplaine"])
>>> set("".join(variable))
{'r', 'b', 'o', 'i', 'a', 'k', 'p', 'n', 't', 'c', 'e', 'l'}

值得注意的是您的集合创建不正确。