Python 3.x Python删除重复的值

Python 3.x Python删除重复的值,python-3.x,Python 3.x,我有一本这样的字典: { key1 : "1", key1 : "2", key1 : "3", key1 : "1", key1 : "2" key2 : "1", key2 : "1", key2 : "1", key2 : "1", key2 : "1"} 我只想删除键1的相等值: { key1 : "1", key1 : "2", key1 : "3", key2 : "1", key2 : "1", key2 : "1", key2 : "1", key2 : "1"} 可

我有一本这样的字典:

{ key1 : "1", key1 : "2", key1 : "3", key1 : "1", key1 : "2"
  key2 : "1", key2 : "1", key2 : "1", key2 : "1", key2 : "1"}
我只想删除键1的相等值:

{ key1 : "1", key1 : "2", key1 : "3",
  key2 : "1", key2 : "1", key2 : "1", key2 : "1", key2 : "1"}
可能吗?我用以下代码进行了尝试:

for i in dict.keys():
   if dict.values().count(dict[i]) > 1:
      del dict[i]

但它不起作用。

字典中的每个键都必须是唯一的。如果您尝试创建一个具有重复关键点的关键点,它只会记住每个关键点中的一个。例如:

key1, key2 = 1, 2

d = { key1 : "1", key1 : "2", key1 : "3", key1 : "1", key1 : "2",
      key2 : "1", key2 : "1", key2 : "1", key2 : "1", key2 : "1"}

print(d)
# {1: '2', 2: '1'}
这是你需要解决的第一个问题。但是,可以将匹配键的每个值存储在数组中:

key1, key2 = 1, 2

d = {key1 : ["1", "2", "3", "1", "2"],
     key2 : ["1", "1", "1", "1", "1"]}

print(sorted(list(set(d[key1]))))
# ['1', '2', '3']

您应该更详细地说明“不起作用”的含义:我不使用python,所以我对字典的理解来自C#,可能是错误的,我不确定字典是否真的可以有重复的键,如果是这样,按键访问并按键删除会导致问题吗?如果情况并非如此,并且python支持重复键,那么问题可能是当您删除该键时,它会删除与该特定键匹配的所有内容,我建议您提供一个结果集,演示您实际想要输出的内容,因为您的问题似乎与您的代码冲突。您不能有具有不同值的重复键。否则,当您查询字典时,它如何知道要显示哪个值?这个问题是如何升级的?您没有“像这样的字典”,因为它不是有效的Python字典。请用真实的代码更新你的问题。很抱歉,我对这个答案投了反对票,因为这还为时过早。在OP澄清问题之前,没有办法知道正确答案是什么。正如您和其他评论者所指出的,这不可能是真正的代码,因为字典的构造是无效的。