2015-10-15 29 views
-3

我有以下形式键的字典:蟒蛇重复检查通过反转字符串

d['a:b'] 
d['c:d'] 
d['e:f'] 
d['d:c'] 
d['b:a'] 
d['f:e'] 

我如何检查并删除重复,在重复的将是

d['a:b'] = d['b:a'] 

所以检查和删除后,字典将包括

d['a:b'] 
d['c:d'] 
d['e:f'] 
+1

只是为了澄清,'D'是你的字典吗? –

+0

@RNar是的,d是字典 – GISUser9

回答

1

d.keys()返回一个副本,所以项目可以被弹出。

d = { k:None for k in ('a:b','c:d','e:f','d:c','b:a','f:e') } 
for k in d.keys(): 
    if '{}:{}'.format(k[2],k[0]) in d: 
     d.pop(k) 
0
unique = [] 
delete = [] 
for key in d.keys(): 
    if key[::-1] in unique: 
    delete.append(key) 
    else: 
    unique.append(key) 
for key in delete: del d[key] 

不是很好用两个回路,但工程

-1
unique = [] 
for key in sorted(d.keys()): 
    if key in unique or key[-1] + key[1] + key[0] in unique: 
     d.pop(key) 
    unique.append(key) 
print d