Pythondict套dict
① python的嵌套字典問題
這個涉及知識點對於初學者是比較難的。它是一個可變變數和不可變變數的區別。
圖1是修改的是字典(可變變數)
圖2是則是修改字元串(不可變變數)
具體的概念,自己去補充一下相關的知識點。一個回答也沒辦法給你講清楚的。
② python dict 套用到str 取代
請問字典的KEY和VALUE長度一樣嗎內
如是可用容maketrans
import string
QUDAI = {'A' : 'B', 'B' : 'C' , 'C' : 'D'}
WORD = 'Apple Boy Cat'
froms=''
tos=''
for key,value in QUDAI.items():
froms+=key
tos+=value
table=string.maketrans(froms,tos)
WORD=string.translate(WORD,table)
print WORD
③ Python中的dict怎麼用
#字典的添加、刪除、修改操作
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
dict["w"]="watermelon"
del(dict["a"])
dict["g"]="grapefruit"
printdict.pop("b")
printdict
dict.clear()
printdict
#字典的遍歷
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
forkindict:
print"dict[%s]="%k,dict[k]
#字典items()的使用
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
#每個元素是一個key和value組成的元組,以列表的方式輸出
printdict.items()
#調用items()實現字典的遍歷
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
for(k,v)indict.items():
print"dict[%s]="%k,v
#調用iteritems()實現字典的遍歷
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
printdict.iteritems()
fork,vindict.iteritems():
print"dict[%s]="%k,v
for(k,v)inzip(dict.iterkeys(),dict.itervalues()):
print"dict[%s]="%k,v
#使用列表、字典作為字典的值
dict={"a":("apple",),"bo":{"b":"banana","o":"orange"},"g":["grape","grapefruit"]}
printdict["a"]
printdict["a"][0]
printdict["bo"]
printdict["bo"]["o"]
printdict["g"]
printdict["g"][1]
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
#輸出key的列表
printdict.keys()
#輸出value的列表
printdict.values()
#每個元素是一個key和value組成的元組,以列表的方式輸出
printdict.items()
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
it=dict.iteritems()
printit
#字典中元素的獲取方法
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
printdict
printdict.get("c","apple")
printdict.get("e","apple")
#get()的等價語句
D={"key1":"value1","key2":"value2"}
if"key1"inD:
printD["key1"]
else:
print"None"
#字典的更新
dict={"a":"apple","b":"banana"}
printdict
dict2={"c":"grape","d":"orange"}
dict.update(dict2)
printdict
#udpate()的等價語句
D={"key1":"value1","key2":"value2"}
E={"key3":"value3","key4":"value4"}
forkinE:
D[k]=E[k]
printD
#字典E中含有字典D中的key
D={"key1":"value1","key2":"value2"}
E={"key2":"value3","key4":"value4"}
forkinE:
D[k]=E[k]
printD
#設置默認值
dict={}
dict.setdefault("a")
printdict
dict["a"]="apple"
dict.setdefault("a","default")
printdict
#調用sorted()排序
dict={"a":"apple","b":"grape","c":"orange","d":"banana"}
printdict
#按照key排序
printsorted(dict.items(),key=lambdad:d[0])
#按照value排序
printsorted(dict.items(),key=lambdad:d[1])
#字典的淺拷貝
dict={"a":"apple","b":"grape"}
dict2={"c":"orange","d":"banana"}
dict2=dict.()
printdict2
#字典的深拷貝
import
dict={"a":"apple","b":{"g":"grape","o":"orange"}}
dict2=.deep(dict)
dict3=.(dict)
dict2["b"]["g"]="orange"
printdict
dict3["b"]["g"]="orange"
printdict
④ python字典能否嵌套如何寫
print(a_dict["AAA"].keys())
⑤ python 如何對嵌套字典里的數據進行添加和刪除
那就嵌套操作唄
先取鍵2的值,是一個字典;再回對該字典做答pop操作。
a={1:{1:'a',2:'b',3:'c'},2:{4:'d',5:'e',6:'f'}}
a[2].pop(4)
printa[2]
a[2][5]='W'
printa[2]
⑥ python 實現字典嵌套字典
from collections import defaultdict
interface_all = defaultdict(dict)
for port in porttype:
interface_all[port]['status'] = 'up'
⑦ python中dict內置的方法有哪些
dir函數可以顯示一個對象的所有方法
同樣可以應用於dict
dir(dict)
['__class__','__cmp__','__contains__','__delattr__','__delitem__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__gt__','__hash__','__init__','__iter__','__le__','__len__','__lt__','__ne__','__new__','__rece__','__rece_ex__','__repr__','__setattr__','__setitem__','__sizeof__','__str__','__subclasshook__','clear','','fromkeys','get','has_key','items','iteritems','iterkeys','itervalues','keys','pop','popitem','setdefault','update','values','viewitems','viewkeys','viewvalues']
⑧ python中如何判斷一個dict是另一個dict的子集
is_sub_dict(d, sub_d):
for key, value in sub_d.items():
if key in d and d.get(key) == value:
pass
else:
return False
else:
return True
⑨ python如何實現列表嵌套字典,字典內相同key去重,字典內另外一個key的value相加
按照你的要求編寫的字典內相同key合並的Python程序如下
l=[{'a':1,'b':'haha'},{'a':3,'b':'haha'},{'a':2,'b':'xiaoming'}]
result=[]
temp=[]
for i in range(len(l)):
flag=False
suma=l[i]['a']
b=l[i]['b']
for j in range(i+1,len(l)):
if l[i]['b']==l[j]['b'] and (j not in temp):
flag=True
temp.append(i)
temp.append(j)
suma=suma+l[j]['a']
if i not in temp or flag==True:
result.append({'a':suma,'b':b})
print(result)
源代碼(注意源代碼的縮進)