Python 字典中一鍵對應多個值

阿里瓜瓜發表於2017-06-19
#字典的一鍵多值 
   
print'方案一 list作為dict的值 值允許重複'   
   
d1={} 
key=1 
value=2 
d1.setdefault(key,[]).append(value) 
value=2 
d1.setdefault(key,[]).append(value) 
   
print d1 
   
#獲取值 
print '方案一 獲取值' 
print list(d1[key]) 
   
print '方案一 刪除值,會留下一個空列表' 
d1[key].remove(value) 
d1[key].remove(value) 
print d1  
   
print '方案一 檢查是否還有一個值' 
print d1.get(key,[]) 
   
print '方案二 使用子字典作為dict的值 值不允許重複' 
   
d1={} 
key=1 
keyin=2 
value=11 
d1.setdefault(key,{})[keyin]=value 
keyin=2 
value=22 
d1.setdefault(key,{})[keyin]=value 
keyin=3 
value=33 
d1.setdefault(key,{})[keyin]=value 
   
print d1 
   
print '方案二 獲取值' 
print list(d1[key]) 
   
print '方案二 刪除值,會留下一個空列表' 
del d1[key][keyin] 
keyin=2 
del d1[key][keyin] 
print d1 
   
print '方案二 檢查是否還有一個值' 
print d1.get(key,()) 
   
print '方案三 使用set作為dict的值 值不允許重複' 
d1={} 
key=1 
value=2 
d1.setdefault(key,set()).add(value) 
value=2 
d1.setdefault(key,set()).add(value) 
value=3 
d1.setdefault(key,set()).add(value) 
   
print d1 
   
print '方案三 獲取值' 
print list(d1[key]) 
   
print '方案三 刪除值,會留下一個空列表' 
d1[key].remove(value) 
value=2 
d1[key].remove(value) 
print d1  
   
print '方案三 檢查是否還有一個值' 
print d1.get(key,()) 

 

相關文章