Python 字典的认识与运用

一.字典的认识

        python中的字典类型是“键:值”对的形式。字典是以花括号括起来的键值对集合,键与值用" : "分开,不同键值对用' , ' 分开。

        dict = {键 : 值 , 键 : 值.............}

        python中字典的键具有确定性唯一性。确定性是键只能是不要可变数据类型,如:数值,元组,字符串。唯一性是指键名不能重复,但值可以重复。

二.字典的创建 

1.使用花括号以逗号分隔“ 键:值”的方式:

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(dict2)  # {'姓名': '张三', '年龄': '20', '性别': '男'}
print(type(dict2))  # <class 'dict'>

2.使用字典推导式:{},{键:值 for 迭代变量 in 可迭代对象 [if 条件表达式]}

a = {x: x ** 2 for x in range(1, 10)}
print(a)  # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

 3.使用dict()构建字典

a = dict([('姓名', '张三'), ('年龄', '20'), ('性别', '男')])
print(a)  # {'姓名': '张三', '年龄': '20', '性别': '男'}
b = dict(a = 100,b = 300)
print(b) #{'a': 100, 'b': 300}

三.字典的访问

1.字典名[key]

        对于字典而言不能够向列表和元组字符串那样用索引去访问,只能够通过键来访问。

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(dict2["姓名"]) #张三
print(dict2["年龄"]) #20

         当寻找的键字典中不存在时会报“KeyError”的错误

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(dict2['1']) #KeyError: '1'
 2.字典名.get(k,value)

        若键存在与字典里返回其值,否则返回默认值/value

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(dict2.get("姓名"))  # 张三
print(dict2.get("1", "不存在"))  # 不存在
3.字典名.setdefault(k,value)

  这个与上方的get()方法相似,但若键不存在,则将会把新的键值存到字典里 

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(dict2.setdefault('2'))  # None
print(dict2)  # {'姓名': '张三', '年龄': '20', '性别': '男', '2': None}
print(dict2.setdefault('3', "不存在"))
print(dict2)  # {'姓名': '张三', '年龄': '20', '性别': '男', '2': None, '3': '不存在'}

四.字典的维护

1.添加元素

        字典元素的添加可以通过对字典的一个新键赋值来实现

        字典名[new key]=new value

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(dict2)  # {'姓名': '张三', '年龄': '20', '性别': '男'}
dict2["喜好"] = "篮球"
print(dict2)  # {'姓名': '张三', '年龄': '20', '性别': '男', '喜好': '篮球'}
2.删除元素
        1.del dict[key]删除字典里key的键值对
dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
del dict2["性别"]
print(dict2)  # {'姓名': '张三', '年龄': '20'}

                2.dict.pop(key[,default])若键存在字典里返回其对应值,同时删除键值对,如果没有key返回default值

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
a = dict2.pop("性别")
b = dict2.pop("1", "无")
print(a)  # 男
print(dict2)  # {'姓名': '张三', '年龄': '20'}
print(b)  # 无
print(dict2)  # {'姓名': '张三', '年龄': '20'}

                3.dict.clear()清空字典

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
dict2.clear()
print(dict2) #{}
3.修改元素

        字典的修改是值通过字典的键修改对应的值

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
dict2["姓名"] = "wzy0537"
print(dict2)  # {'姓名': 'wzy0537', '年龄': '20', '性别': '男'}

五.字典的内置函数 

1.len(dict)

        返回字典里键值对的个数

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(len(dict2)) # 3
2.max(dict)

        返回字典里最大键所对应的值

dict3 = {"1": 3, "2": 1}
print(max(dict3))  # 2
3.min(dict)

        返回字典里最小键所对应的值

dict3 = {"1": 3, "2": 1}
print(min(dict3))  # 1
 4.dict.key()

        返回字典中所有的键信息

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
print(dict2.keys())  # dict_keys(['姓名', '年龄', '性别'])
5.dict.values()

        返回字典中所有的值信息

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
a = dict2.values()
print(a) #dict_values(['张三', '20', '男'])
for i in a:
    print(i)
    #张三
    # 20
    # 男
6.dict.items()

        返回字典中所有的键值信息

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
a = dict2.items()
print(a) # dict_items([('姓名', '张三'), ('年龄', '20'), ('性别', '男')])
7.dict.update(dict2)

        对dict键值对进行更新,将dict2的信息覆盖到dict中

dict2 = {"姓名": "张三", "年龄": "20", "性别": "男"}
dict3 = {"姓名": "李四", "年龄": "21", "性别": "男"}
a = dict2.update(dict3)
print(dict2) # {'姓名': '李四', '年龄': '21', '性别': '男'}
8.dict.copy() 及其与赋值的区别

        字典copy()函数的使用及其与赋值的区别

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值