3.3(Python基础知识)

接3.2

5.元组中的元素不能改,硬要运行出来代码会报错

十.字典(dict)

1.特点

(1)使用键-值(key-value)存储,查找速度快

(2)key必须使用不可变类型

(3)同一字典中,键必须是唯一的

2.字典的定义

例:info = {"name":"吴彦祖","age":18}

3.字典的访问

(1)一般访问

info = {"name":"吴彦祖","age":18}
print(info["name"])
print(info["age"])

结果:

吴彦祖
18

(2)访问了不存在的键

info = {"name":"吴彦祖","age":18}
#print(info["gender"]) #直接访问会报错
print(info.get("gender")) 
print(info.get("gender","m")) 
print(info.get("age","20"))

结果:

None
m
18

 #直接访问会报错

#使用get方法,

#没有找到对应的键,默认返回:None

#没找到可以设定默认值

#找到了默认值不会生效

4.字典中元素的增加

info = {"name":"吴彦祖","age":18}
newID = input("请输入新的学号:")
info["id"]=newID
print(info["id"])
print(info)

结果:

请输入新的学号:0606
0606
{'name': '吴彦祖', 'age': 18, 'id': '0606'}

5.字典中元素的删除

(1)[del]

[1].删除指定键值对后再次访问会出错

info = {"name":"吴彦祖","age":18}

del info["name"]

print("删除后: %s"%info["name"]) #删除指定键值对后再次访问会出错

[2].删除字典后再访问会报错

info = {"name":"吴彦祖","age":18}

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

del info

print("删除后: %s"%info)#删除字典后再访问会报错

(2)[clear]清空

info = {"name":"吴彦祖","age":18}
print("清空前: %s"%info)
info.clear()
print("清空后: %s"%info)

结果:

清空前: {'name': '吴彦祖', 'age': 18}
清空后: {}
4.字典中元素的更改

info = {"name": "吴彦祖", "age": 18}
info["age"]=20
print(info["age"])

结果:20

5.字典中元素的查找

info = {"id":1,"name": "吴彦祖", "age": 18}
print(info.keys())   #得到所有的键(列表)
print(info.values())   #得到所有的值(列表)
print(info.items())  #得到所有的项(列表),每个键值对是一个元组

结果:

dict_keys(['id', 'name', 'age'])
dict_values([1, '吴彦祖', 18])
dict_items([('id', 1), ('name', '吴彦祖'), ('age', 18)])

6.

(1)遍历所有的键

info = {"id":1,"name": "吴彦祖", "age": 18}
for key in info.keys():
    print(key)

结果:

id
name
age
(2)遍历所有的值

info = {"id":1,"name": "吴彦祖", "age": 18}
for value in info.values():
    print(value)

结果:

1
吴彦祖
18
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值