【发布时间】:2012-05-29 07:43:21
【问题描述】:
python 文档暗示列表中可以存在重复项,这由 assignmnet 支持:list = ["word1", "word1"]。但是,如果项目已经在列表中,Python 的 append() 似乎不会添加项目。我在这里遗漏了什么还是故意尝试 set() 之类的行为?
>> d = {}
>> d["word1"] = 1
>> d["word2"] = 2
>> d["word2"] = 3
>> vocab = []
>> for word,freq in d.iteritems():
>> ... vocab.append(word)
>> for item in vocab:
>> ... print item
返回:
word1
word2
第二个词在哪里?
【问题讨论】:
-
如果您不包含
>>和...会很有帮助 - 这会使其他人难以使用您的代码。 -
对不起,我实际上是在从记事本++复制我的代码后手动添加的,因为我看到有些人在这里这样做是为了区分代码和输出。我认为这会有所帮助;但不会再这样做了,因为你的观点很好!
-
您可能需要一个 set 元组而不是字典。这将只允许
("word2", 2)一次,无论您添加多少次,但同时也允许("word2", 3)。 -
人们不会自己插入
>>>和...。这来自 python 交互式解释器。你也应该使用它——它有助于回答这样的问题。这是online version,这是在您自己的计算机上start it up 的方法。 -
@Steve314 有多种实现。使用这些可能比在代码中嵌入这些操作作为集合操作更容易。
标签: python data-structures append