Python基础复习03_字典

本文介绍了Python字典的应用场景、定义及基本操作,包括创建、增删改查。字典是一种键值对数据结构,不依赖数据顺序,通过键进行查找。文中详细展示了字典的创建、修改、删除和查询方法,如`get()`、`keys()`、`values()`和`items()`等。同时,还讲解了如何遍历字典的键、值和键值对。
摘要由CSDN通过智能技术生成

字典

1. 应用场景&&定义

·数据顺序发生变化,每个数据的下标也会随之变化,如何保证数据顺序变化前后能使用同一的标准查找数据呢?
·字典 --> 字典中数据以 键值对形式出现,字典数据与数据顺序没有关系,也即 字典不支持下标,后期无论数据如何变化,都只需要按照对应的键的名字查找数据即可。

2. 语法

·特点:

符号:大括号   
数据:键值对形式出现   
各个键值对之间以逗号隔开   

·注意:一般称冒号前的为键key,简称k;冒号后面的为值value,简称v

# 定义/创建字典

# 创建有数据字典
stu_info = {'name':'Lcj','gender':'male','age':20,'stu_num':201822111310105}
print(type(stu_info))

# 创建空字典
dict01 = {}
print(type(dict01))

dict02 = dict()
print(type(dict02))
<class 'dict'>
<class 'dict'>
<class 'dict'>

3. 字典常用操作

3.1 增/改

·语法:字典序列[key] = 值
·注意:如果key存在则修改这个key对应的值,不存在则新增此键值对(字典为可变数据类型)

print(stu_info)

# 修改
stu_info['age'] = 18
print(stu_info)

# 增加
stu_info['major'] = 'Bigdata'
print(stu_info)
{'name': 'Lcj', 'gender': 'male', 'age': 20, 'stu_num': 201822111310105}
{'name': 'Lcj', 'gender': 'male', 'age': 18, 'stu_num': 201822111310105}
{'name': 'Lcj', 'gender': 'male', 'age': 18, 'stu_num': 201822111310105, 'major': 'Bigdata'}
3.2 删

·del()/del:删除字典或删除字典中指定键值对
·clear():清空字典

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

# 删除指定键值对
del dict1['gender']
print(dict1)

# 清空字典
dict1.clear()
print(dict1)

# 删除字典
del dict1
print(dict1)
{'name': 'Tom', 'age': 20}
{}



---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

<ipython-input-4-31a32b3011ab> in <module>
     11 # 删除字典
     12 del dict1
---> 13 print(dict1)


NameError: name 'dict1' is not defined
3.3 查
3.3.1 key值查找

·如果当前查找的key存在,则返回对应值,否则报错

# key值查找
print(stu_info['stu_num'])
print(stu_info['sex'])  # 不存在,会报错
3.3.2 get()方法

·语法:字典序列.get(key,默认值)
·注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

# get()方法
print(dict1.get('gender'))  # 正常查询到数据
print(dict1.get('id'))      # 查找的key不存在,返回默认值None
print(dict1.get('id','404 NOT FOUND'))  # 查找的key不存在,返回设定的参数404 NOT FOUND
男
None
404 NOT FOUND
3.3.3 keys()

·返回字典序列的所有key值

# keys()方法
print(dict1.keys())
dict_keys(['name', 'age', 'gender'])
3.3.4 values()

·返回字典序列所有的value值

# values()方法
print(dict1.values())
dict_values(['Tom', 20, '男'])
3.3.5 items()

·返回字典序列所有的键值对

# items()方法
print(dict1.items())
dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])

4. 字典的循环遍历

4.1 遍历key/value
print(f"字典为:{dict1}\n")

# 遍历字典的key
print("遍历字典的key:")
for key in dict1.keys():
    print(key)
print()

# 遍历字典的value
print("遍历字典的value:")
for value in dict1.values():
    print(value)
字典为:{'name': 'Tom', 'age': 20, 'gender': '男'}

遍历字典的key:
name
age
gender

遍历字典的value:
Tom
20
男
4.2 遍历字典的元素/键值对
# 遍历字典的元素
print("遍历字典的元素")
for item in dict1.items():
    print(item)
print()

# 遍历字典的键值对
print("遍历字典的键值对")
for key,value in dict1.items():
    print(f"{key} = {value}")
遍历字典的元素
('name', 'Tom')
('age', 20)
('gender', '男')

遍历字典的键值对
name = Tom
age = 20
gender = 男
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值