#字典的一鍵多值 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,())