我有这样的字典:
{ key1 : "1", key1 : "2", key1 : "3", key1 : "1", key1 : "2"
key2 : "1", key2 : "1", key2 : "1", key2 : "1", key2 : "1"}
我想仅为key1删除相等的值:
{ 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]
但它没有用。
答案 0 :(得分:-1)
字典中的每个键都必须是唯一的。如果您尝试创建一个具有重复键的键,它只会记住其中一个键。例如:
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']