python基础之字典

Posted chenrongjin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础之字典相关的知识,希望对你有一定的参考价值。

python基础之字典

 

1.字典

数据类型划分:可变数据类型和不可变数据类型

不可变数据类型:元组,bool int str       可哈希

可变数据类型:list,dict set    不可哈希

dict key 必须是不可变数据类型,可哈希,
value:任意数据类型。

2.字典的增删改查

#字典的增删改查,
# 增,直接用字典键值增加,有则修改值没有增加
dic1 = {age: 18, name: huangjin, sex: male,}
dic1[phone] = 17678963254
dic1[age] = 20
print(dic1)   #{‘phone‘: 17678963254, ‘name‘: ‘huangjin‘, ‘age‘: 20, ‘sex‘: ‘male‘}

dic1.setdefault(Nation,汉族)       #setdefault设置,有不操作,没有新建一个键,值没有复制则为None
print(dic1)

#删除
# print(dic1.pop(‘age‘))   #一处键,返回键值为20,可以设置返回为None
# print(dic1.pop(‘二哥‘, None))  # 可设置返回值     返回值为None
# print(dic1)                 #{‘Nation‘: ‘汉族‘, ‘name‘: ‘huangjin‘, ‘sex‘: ‘male‘, ‘phone‘: 17678963254}

#print(dic1.popitem())  # 随机删除 有返回值 返回的元组里面是删除的键值

# del dic1[‘name‘]  #直接删除键值
# del dic1        #删除字典
# print(dic1)

# dic1.clear() #清空字典

#改,直接对键赋值,update更新
dic = {"name":"jin","age":18,"sex":"male"}
dic2 = {"name":"alex","weight":75}
dic2.update(dic)


# print(dic1.keys(),type(dic1.keys()))
# print(dic1.values())
# print(dic1.items())

3.字典的for循环遍历

三种方式:遍历键,遍历值,遍历键值

dic = {sex: male, name: jin, weight: 75, age: 18}
key = []
for i in dic.keys():    #遍历键  key = [‘weight‘, ‘age‘, ‘name‘, ‘sex‘]
    key.append(i)

val = []
for i in dic.values():#遍历值val = [75, 18, ‘jin‘, ‘male‘]
    val.append(i)

dic_list = []
for i in dic:  #默认遍历键 dic_list = [‘weight‘, ‘age‘, ‘name‘, ‘sex‘]
    dic_list.append(i)

print(key,val,dic_list)

for k,v in dic.items(): #遍历键值
    print(k,v)
‘‘‘
age 18
weight 75
sex male
name jin
‘‘‘

 

字典嵌套:即字典中还有字典,如需修改,字典按键值,嵌套列表按列表索引值

dic = {
    name:[huangjin,baiyin,bojin],
    fav:{
        girl:多多的,
        money:无穷的,
           },
    age:21,
    nation:布依族
}

#修改黄金为钱
dic[name][0] = 
print(dic)  #{‘age‘: 21, ‘fav‘: {‘girl‘: ‘多多的‘, ‘money‘: ‘无穷的‘}, ‘nation‘: ‘布依族‘, ‘name‘: [‘钱‘, ‘baiyin‘, ‘bojin‘]}
#修改girl为苗条的
dic[fav][girl] = 苗条
print(dic)#{‘name‘: [‘钱‘, ‘baiyin‘, ‘bojin‘], ‘fav‘: {‘money‘: ‘无穷的‘, ‘girl‘: ‘苗条‘}, ‘nation‘: ‘布依族‘, ‘age‘: 21}

 

注意:Python3.6以后字典默认是有序的,pytho3.5以前的字典都是无序,别问我为什么知道

 

4.总结

python中主要还是字符串,列表,字典之间的转换,需要熟练掌握常用方法,排序等等,Py3.5及以前版本如需使用有序字典需要导入OrderedDict 

 

 


以上是关于python基础之字典的主要内容,如果未能解决你的问题,请参考以下文章

python基础一数据类型之字典

python基础之字典

python基础之字典篇

python基础之字典

python基础数据类型之字典+集合

python基础入门之六 —— 字典