Python之字典的创建与使用

Python之字典

字典是Python内建的一个数据类型,每一个key都会有一个value绑定,通过key值寻找value极为方便。

字典的创建

1.直接创建

aInfo = {'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}

2.利用dict函数转化为字典

(1)、将元组转化为字典
info = [('Wangdachui',30000),('Niuyun',2000),('Tianlong',8000)]
bInfo = dict(info)

#若元组的元素也是元组也可以转化为字典
d = dict((('wangdachui',3000),('Niuyun',2000),('Tianlong',8000)))
(2)、将列表转化为字典
cInfo = dict([['Wangdachui',3000],['Niuyun',2000],['Tianlong',8000]])
(3)、直接使用key=value
dInfo = dict(wangdachui=3000,Niuyun=2000,Tianlong=8000)

字典的默认赋值

创建时使用fromkeys将字典里的所有的value默认设置为某个值

Dict = {
    
    }.fromKeys(('Wangdachui','Niuyun','Tianlong'),3000)
//fromkeys(s,v)函数的第一个参数s只要是序列就可以,所以不管是元组还是列表都可以

生成字典

可以使用zip函数将两个已存在list打包,然后使用dict函数生成字典

List1 = ['wangdachui','Niuyun','Tianlong']
List2 = [3000,2000,8000]
Dict = dict(zip(List1,List2))

也可以直接使用赋值的方式生成

Dict = {
    
    }
List1 = ['wangdachui','Niuyun','Tianlong']
List2 = [3000,2000,8000]
for data1,data2 in List1,List2:
      Dict[data1] = data2

字典的使用

1、字典的基本操作

aInfo = {
    
    'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}
#键值查找
aInfo['Wangdachui']
aInfo.get('Wangdachui') #此种方法当key不存在时不会发生异常而导致程序中断
#键值更新
aInfo['Tianlong']=9000
#添加新键值
aInfo['Xiaoming']=7000
#成员判断
'Xiaoming' in aInfo
#删除字典成员
del aInfo['Xiaoming']

2、字典的常用函数

(1)、len(参数)

len函数是用来获取字典元素个数

(2)、hash(参数)

hash函数是用来判断传入的对象是否可哈希(可变)

(3)、字典遍历
    aInfo = {
    
    'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}
    #获取字典的key
    aInfo.keys()
    #获取字典的键值
    aInfo.values()
    #遍历字典
    for k, v in aInfo.items():
(4)、update(参数)

update函数是对字典进行更新,包括键值的修改和元素的增加

aInfo = {
    
    'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}
bInfo = {
    
    'Wangdachui':3000,'Niuyun':5000,'Xiaoming':7000}
anInfo.update(bInfo)
(5)、clear()

clear函数是对字典进行清空操作

aInfo = {
    
    'Wangdachui':3000,'Niuyun':2000,'Tianlong':8000}
aInfo.clear()
(6)、其他字典常用函数

pop(键值)、setdefault()、items()
提取字典的键值的非循环方法

x = {
    
    'a':3, 'b':4}
y = list(x.items())
print(y[0])
print(y[1])
>>> ('a', 3)
>>> ('b', 4)

print(y[0][0])
print(y[0][1])
>>> a
>>> 3

3、小案例之使用字典获取JSON的键值

x = {
    
    "name":"wangwu","address":{
    
    "city":"Nanjing","area":"xuanwu"}}
x ['address']['city']

4、小案例之字典充当可变长关键字参数

元组可以充当可变长位置参数,用一个小星号来表示。而字典可以充当可变长关键字参数,用两个小星号来表示。

def func(args1,*argst,**argsd):
    print(args1)
    print(argst)
    print(argsd)
func('Hello','Wangdachui','Niuyun','Linling',a1=1,a3=3,a2=2)

可变长关键字参数样例输出

猜你喜欢

转载自blog.csdn.net/ThunderF/article/details/90038429