将单词列表转换为元组绑定单词

时间:2017-03-17 04:55:24

标签: python-2.7 file dictionary tuples

我正在获取一个文本文件,导入并将其转换为字符串列表。然后我试图把一个独特的单词写进一把钥匙。我希望它们是不可变的或元组。我遇到的问题是这个词总是分成字符。我找到了similar post here但没有效果。

如果有人可以帮助我并解释我哪里出错了,为什么tuple(word)会产生与tuple(word,)相同的结果。

with open(f, 'r') as f:
    clean_str = f.read().translate(None, string.punctuation).lower().split()
    key_dic = {tuple(word,): [] for word in set(clean_str)}
    return key_dic

档案说:猫追了狗。

两者的输出:

{('t', 'h', 'e'): [], ('c', 'a', 't'): [], ('c', 'h', 'a', 's', 'e', 'd'): [], ('d', 'o', 'g'): []}

1 个答案:

答案 0 :(得分:0)

由于tuple被用作函数,因此函数语法正在使用任何终止逗号而不是生成元组。

>>> tuple('foo')
('f', 'o', 'o')
>>> tuple('foo',)
('f', 'o', 'o')
>>> tuple(('foo',))
('foo',)

但您不需要调用tuple()

>>> {('foo',) : 'bar'}
{('foo',): 'bar'}