python语言中的数据类型之字典,,数据类型字典类型di


数据类型

字典类型dict

用途:记录多个值,列表是索引对应值,而字典是key对应值,其中key对value有描述性

定义方式:在{ }用逗号分隔开多个元素,每个元素都是key:value形式,其中key是不可变类型,通常是字符串类型,而value是任意类型。

类型转换:

d=dict(x=1,y=2,z=3)print(d)print(type(d))#第一种类型转换items=[(‘name‘,‘egon‘),(‘age‘,18),(‘gender‘,‘male‘)]d={}for item in items:    d[item[0]]=item[1]print(d)#列表转换成字典  第二种items=[(‘name‘,‘egon‘),(‘age‘,18),(‘gender‘,‘male‘)]d=dict(items)print(d)#第三种方法??# 了解keys=[‘name‘,‘age‘,‘gender‘,‘height‘,‘weight‘]# d={}# for key in keys:#     d[key]=None?d={}.fromkeys(keys,None)print(d,type(d))

常用操作+内置方法

1.按key存取值:可存可取

dic={‘name‘:‘egon‘,‘age‘:18}print(dic[‘name‘])#这是按key 取 value值  如果key错误程序会报错dic[‘name‘]=‘EGON‘print(dic)#按key存值  根据key存入‘EGON‘ (value)dic[‘gender‘]=‘male‘print(dic)#如果存入的key在字典中没有就会添加新的key:value?###在列表中如果索引没有添加的话会报错l=[‘a‘,‘b‘,‘c‘]l[0]=‘A‘print(l)l[4]=‘AAA‘print(l)

2.长度 len

dic={‘name‘:‘egon‘,‘age‘:18}print(dic)print(len(dic))

3.成员运算 in 和 not in

字典的成员运算是以字典的key为准的,如果找不到key则会显示False

dic={‘name‘:‘egon‘,‘age‘:18}print(‘name‘in dic)    #  Trueprint(‘egon‘in dic)    #  False

4.删除 del/pop/

dic={‘name‘:‘egon‘,‘age‘:18}del dic[‘name‘]print(dic)#del  的运用?dic={‘name‘:‘egon‘,‘age‘:18}res=dic.pop(‘name‘)print(dic)print(res)#pop  pop的返回值是与之对应的value值?ic={‘name‘:‘egon‘,‘age‘:18}res=dic.popitem()print(res)print(type(res))print(dic)(‘age‘, 18)<class ‘tuple‘>{‘name‘: ‘egon‘}#popitem()  删除字典中的元组

5.键keys( ),值values(),键值对items()

在python2中对应的键keys(),values(),items()

#在python2中keys(),values(),items()会将全部对应值输出>>> dic={‘name‘:‘egon‘,‘age‘:18}>>> dic.keys()[‘age‘, ‘name‘]>>> dic.values()[18, ‘egon‘]>>> dic.items()[(‘age‘, 18), (‘name‘, ‘egon‘)]>>>?#在python3中>>> dic={‘name‘:‘egon‘,‘age‘:18}>>> dic.keys()dict_keys([‘name‘, ‘age‘])>>> dic.values()dict_values([‘egon‘, 18])>>> dic.items()dict_items([(‘name‘, ‘egon‘), (‘age‘, 18)])

6.循环

dic={‘name‘:‘egon‘,‘age‘:18}for k in dic:    print(k)#在字典中不加任何操作循环是循环keydic={‘name‘:‘egon‘,‘age‘:18}for k in dic.keys():    #循环keys    print(k)for v in dic.values():  #循环values    print(v)for k,v in dic.items(): #k,v=(‘name‘, ‘egon‘)    print(k,v)          #循环key:value

需要掌握的操作

7.update 更新

dic={‘name‘:‘egon‘,‘age‘:18}dic.update({‘height‘:175,‘weight‘:180})print(dic){‘name‘: ‘egon‘, ‘age‘: 18, ‘height‘: 175, ‘weight‘: 180}#语法    字典1.update(字典2)#会将两个字典中相同的key:value保留,不同的添加到字典1dic={‘name‘:‘egon‘,‘age‘:18}

8.setdefault

Python 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值

#当key存在时,不改原值,返回原值dic={‘name‘:‘egon‘,‘age‘:18}res=dic.setdefault(‘name‘,‘EGON‘)print(dic)print(res){‘name‘: ‘egon‘, ‘age‘: 18}egon?#当key不存在时,增加新值dic={‘name‘:‘egon‘,‘age‘:18}res=dic.setdefault(‘gender‘,‘male‘)print(dic)print(res){‘name‘: ‘egon‘, ‘age‘: 18, ‘gender‘: ‘male‘}male

###字典无序 可变

python语言中的数据类型之字典

评论关闭