这是一个非常奇怪的行:
temp_set = set([('a', 'p', 'p', 'l','e')])
它从具有单个元素的列表中创建一个集合,元组('a', 'p', 'p', 'l','e')。为什么要增加一个级别?
set 是具有 独特 元素的数据结构。我认为这与手头的问题无关。
即使在('w', 'h', 'a', 't'), ('w', 'i', 'l','l') 的情况下,您也可能不想要一个集合,而是一个列表,除非您担心(并且想要消除)重复的单词(也许您会这样做,但不清楚)。一个列表就足够了:
>>> s = [('w', 'h', 'a', 't'), ('w', 'i', 'l','l')]
>>> [''.join(x) for x in s]
['what', 'will']
>>> s = [('w', 'h', 'a', 't'), ('w', 'i', 'l','l'), ('w', 'h', 'a', 't')]
>>> [''.join(x) for x in s] ### allow duplicates since it's a list
['what', 'will', 'what']
>>> s = set([('w', 'h', 'a', 't'), ('w', 'i', 'l','l'), ('w', 'h', 'a', 't')])
>>> [''.join(x) for x in s] ### remove duplicates since it's a set
['what', 'will']