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)
源代码(注意源代码的缩进)