pythondict字典_python字典(dict)学习

➢字典是无序的对象集合, 使用键-值(key-value)存储,具有极快的查找速度。

➢键(key)必须使用不可变类型。

➢同一个字典中,键(key)必须是唯一的。

1、字典的定义

info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}

说明:

字典和列表一样,也能够存储多个数据 。

列表中找某个元素时,是根据下标进行的 。

字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中 的'name'、'id'、'sex') 。

字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值。

2 、根据键访问值

info = {"name":"haha","age":66}

#字典的访问

print(info["name"])

print(info["age"])

b7d8ebe017d70baddd8241c52a711c46.png

若访问不存在的键,则会报错

info = {"name":"haha","age":66}

#访问了不存在的键

print(info["gender"]) #KeyError: 'gender' 直接访问会报错

5706029467f3283ad55b6e590ecbe93d.png

在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值:

info = {"name":"haha","age":66}

print(info.get("gender")) #None 使用get方法,没有找到相应的键,默认返回None

print(info.get("gender","M")) #默认值是"M" 可以设定默认值

21f304c91ca11052c6069fd514243d3d.png

3、常用操作

3.1、增加

info = {"name":"可可西里","age":12}

newID = input("请输入新的学号")

info["id"] = newID

print(info["id"])

0a29c4f69fb8b5a8e154057d64753705.png

3.2、删除del

删除key

info = {"name":"可可西里","age":12}

print("删除前:%s"%info["name"])

del info["name"]

print("删除后:%s"%info["name"]) #KeyError: 'name' 删除的是键值对

47c8cf1e647e0b8db225b9b4bb9ae565.png

删除字典

info = {"name":"可可西里","age":12}

print("删除前:%s"%info) #NameError: name 'info' is not defined

del info

print("删除后:%s"%info)

e965e676860ded2ba808b1262719afab.png

3.3、删除clear

info = {"name":"可可西里","age":12}

print("清空前:%s"%info)

info.clear()

print("清空后:%s"%info) #清空后:{}

0ae8f19d09c55c66a26b07dd71c1888f.png

3.4、修改

info = {"name":"可可西里","age":12}

info["age"] = 20

print(info["age"])

5a5bdf1b2d95f870bf15de411b1f21e0.png

3.5、查找

info = {"id":1,"name":"可可西里","age":12}

print(info.keys()) #拿到所有的键(列表) dict_keys(['id', 'name', 'age'])

print(info.values()) #拿到所有的值(列表) dict_values([1, '可可西里', 12])

print(info.items()) #拿到所有的项(元组) dict_items([('id', 1), ('name', '可可西里'), ('age', 12)])

9fabce0fa477417b57e37db362ea1c36.png

3.6、遍历

3.6.1、遍历所有的键

for key in info.keys():

print(key)

63cdddd0b1522c7439b730a897b67d26.png

3.6.2、遍历所有的值

for value in info.values():

print(value)

2119174ed33f389b50e9ff9796cae87f.png

3.6.3、遍历所有的键值对

for key,value in info.items():

print("key=%s,value=%s"%(key,value))

01c9c4a9fc7cb45b33f93eabe0ebe705.png

3.6.4、用枚举类型 同时拿到list下标和内容

ef9333b10ef5a5d16f6c1eb6290206fc.png

操作名称操作方法举例

访问字典中的元素 (1)通过key访问,key不存在会抛出异常print(dict1[“小明”])

访问字典中的元素 (2)通过get方法,不存在返回None, 不抛出异常print(dict1.get(“”小明))

遍历字典(1)通过for循环,只能获取keyfor key in dict1: print(key, dict1[key])

遍历字典(2)配合items方法,获取key和valfor key, val in dict1.items(): print(key, val)

直接获取所有key和 value使用keys和values方法print(dict1.values()) print(dict1.keys())

修改val直接通过key修改dict1['小明'] = 2003

新增键值对直接新增dict1[‘小李'] = 2005

字典元素的删除通过key删除del dict1['小李']

字典元素的弹出通过pop方法dict1.pop("小李")

判断key是否存在in“key” in dict1

合并字典updatedict1.update(dict2)

把两个列表转为字典dict+zip方法dict(zip(list1,list2))

把一个嵌套列表转为字典dict方法dict2 = dict([['key1', 'value1']])

清除字典内的元素clear方法dict1.clear()

获取字典长度len()

获取大的keymax()

获取小的keymin()

其它类型对象转换成字典dict()dict([(1, 2), (2, 3)])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值