基础数据类型之字典

一:字典

      字典是python中非常重要的数据类型,在python中唯一一个映射的数据类型。字典中key是唯一的且 是不可变数据类型,value:任意数据类型。如:

dic = {"name":"jin","age":18,"sex":"male"},字典能存放大量的数据类型,且关联性较强。

二:关于字典的相关操作

1,增

dic["key"]=value,有key,就修改键值对,没有key,就按照此key添加新的键值对。

dic.setdefault("key","vaule"),如果字典中含有此key,则字典不进行任何操作;如果字典中不含有此key,则在字典中添加该键值对。具体程序如下:

dic = {"name":"jin","age":18,"sex":"male"}
dic["山地车"]="ashda"
print(dic)

dic['name']="scd"
print(dic)

dic.setdefault("hobby")  #添加键值对
print(dic)

dic.setdefault("hobby","船长")
print(dic)

dic.setdefault("得到","dsfas")
print(dic)

dic.setdefault("name","dsfas")
print(dic)
View Code

2,删

pop,按key删除 ,形式为dic.pop("key")而且有返回值,返回值是按key所删除的vaule,如果没有此key,则会报错,不过可以自己设置返回值,这样就不会报错。

del ,形式为del dic["key"]   删除字典,按key删除键值对,如果没有此key,则会报错。

popitem,形式为dic.popitem() ,随机删除,有返回值,返回值就是删除的键值对(元组的形式)。

clear ,直接清空字典。关于删的具体程序如下:

dic = {"name":"jin","age":18,"sex":"male"}
dic.pop("key")
dic.pop("name")
print(dic)

ret=dic.pop("name")
print(ret)

ret=dic.pop("sss","没有次键")
print(ret)

dic.clear()
print(dic)

del dic["name"]
print(dic)

ret=dic.popitem()
print(ret)
print(dic)
View Code

3,改

dic["key"]=value, 按照key去修改键值对,有key,就修改;没有就添加该键值对。

update 将dic的键值对添加到dic2 中,如果key相同,则覆盖dic2 中的键值对;dic不变。具体程序如下:

dic = {"name":"jin","age":18,"sex":"male"}
dic["name"]="fds"
print(dic)

dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic2.update(dic)
print(dic)
print(dic2)
View Code

4,查

print(dic["key"]),按照key进行查找,若有key,则打印其所对应的value;若没有此key,则报错。
print(dic.get("key")),按照key进行查找,若有key,则打印其所对应的value;若没有此key,不会报错,默认返回值是None,返回值也可以自己设置。

dic = {"name":"jin","age":18,"sex":"male"}
print(dic['name'])
print(dic['name2'])

print(dic.get('name'))
print(dic.get('name2'))
print(dic.get('name2','没有此键值对'))
View Code

三:字典的嵌套

dic = {
    'name':'金鑫',
    'name_list':[1,2,3,'李杰'],
    1:{
        'python10':['小黑','萌哥'],
       '老男孩':{'name':'oldboy','age':56}
    }
}
#1,[1,2,3,'李杰']追加'wusir'
#2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
#3, {'name':'oldboy','age':56} 添加一个键值对,hobby:dsf

print(l.append('wusir'))
print(l)
dic['name_list'].append('wusir')
print(dic)
l = dic[1]['python10']
l.insert(1,'花哥')
print(dic)
dic1 = dic[1]
dic2 = dic1['老男孩']
dic2['hobby'] = 'dsf'

dic[1]['老男孩']['hobby'] = 'dsf'
# print(dic)
View Code

四:用for循环打印字典中的元素,具体程序如下:

#打印字典中的keys
#方法一:
for k in dic:
    print(k)
#方法二:    
for k in dic.keys():
    print(k)
#打印字典中的values
for v in dic.values():
    print(v)
#打印字典中的键值对
#方法一:
for k,v in dic.items():
    print(k,v)
#方法二:    
for k in dic:
    print(k,dic[k])
View Code
 
 
原文地址:https://www.cnblogs.com/leiwei123/p/8352348.html