Python 字典操作

#字典:
#1.定义 : 字典里的数据是以键值对出现的,字典数据跟顺序没有关系,即字典不支持下标操作
#无论数据(值)怎么变化,只要根据键来查找就能找到数据
#特点 : 大括号,键值对形式出现,用逗号隔开
#字典是可变类型
#1.1创建字典
#创建有数据的字典 :
dict1 = {'name':'Willow', 'age':30, 'gender':'男'}
print(dict1) #输出 {'name': 'Willow', 'age': 30, 'gender': '男'}
print(type(dict1)) #输出 <class 'dict'>

#创建空字典
#直接用大括号
nulldict1 = {}
print(type(nulldict1)) #输出 <class 'dict'>
#使用函数 dict()创建空字典
nulldict2 = dict()
print(type(nulldict2)) #输出 <class 'dict'>

=========================================================

#2.字典的常用操作
#2.1增/改
# 字典序列[key] = 值
# 如果key存在,则修改这个key的值,如果key不存在,则新增
dict1 = {'name':'Willow', "age":20, "gender":"man"}
print(dict1)            #输出 {'name': 'Willow', 'age': 20, 'gender': 'man'}
dict1["name"] = 'Liu'
print(dict1)            #输出 {'name': 'Liu', 'age': 20, 'gender': 'man'}
dict1["Country"] = 'China'
print(dict1)            #输出 {'name': 'Liu', 'age': 20, 'gender': 'man', 'Country': 'China'}
#print(type(dict["name"])) #报错 TypeError: 'type' object is not subscriptable

#2.2 删
#2.2.1 del() / del : 删除字典或删除字典中指定键值对
print(dict1)         #输出 {'name': 'Liu', 'age': 20, 'gender': 'man', 'Country': 'China'}
del dict1['gender']
print(dict1)         #输出 {'name': 'Liu', 'age': 20, 'Country': 'China'}
del(dict1['Country'])#输出 {'name': 'Liu', 'age': 20}
print(dict1)
#del dict1 #删除整个dict1
#注意,当删除不存在的key时,会报错 KeyError: 'Counter'
#2.2.2 clear()
dict1.clear()
print(dict1) #输出 {}

========================================

dict1 = {'name':'Willow', "age":20, "gender":"man"}
#3.查找
#3.1 key值查找
print(dict1['name'])     #输出 Willow
#print(dict1['Country'])  #当字典没有该key时,报错 KeyError: 'Country'

#3.2 get()函数
#语法 字典序列.get(key, 默认值)
#注意 : 如果当前查找的key不存在,则返回第二个参数(默认值),如果省略第二个参数,则返回None
print(dict1.get('name', 'Liu'))       #输出 Willow
print(dict1.get('Country', 'China'))  #输出 China
print(dict1.get('id'))                #输出 None

#3.3 keys() 函数
#返回字典中的key
print(dict1.keys())  #输出 dict_keys(['name', 'age', 'gender'])
print(type(dict1.keys()))  #输出 <class 'dict_keys'>

#3.4 values()函数
#返回字典中的values
print(dict1.values()) #输出 dict_values(['Willow', 20, 'man']),返回可迭代对象
print(type(dict1.values())) #输出 <class 'dict_values'>
#3.5 items() 函数
#返回一个可迭代对象,键值对以元组(包含两个元素,一个Key,一个value)的形式返回
print(dict1.items()) #输出 dict_items([('name', 'Willow'), ('age', 20), ('gender', 'man')])
print(type(dict1.items())) #输出 <class 'dict_items'>

========================================================

#4字典的循环遍历
#4.1 遍历字典的key
dict1 = {'name':'Willow', 'age':30, 'gender':'man','Country':'China'}
for keys in dict1.keys():
    print(keys)
'''
输出
name
age
gender
Country
'''
#4.2 遍历字典的Value
for value in dict1.values():
    print(value)
'''
输出
Willow
30
man
China
'''
#4.3 遍历字典的元素
for item in dict1.items():
    print(item)
'''
输出
('name', 'Willow')
('age', 30)
('gender', 'man')
('Country', 'China')
'''
#4.4 遍历字典的键值对,指将得到的数据经行拆包动作
for key , value in dict1.items():
    print(f'key:{key}, value:{value}')
'''
输出
key:name, value:Willow
key:age, value:30
key:gender, value:man
key:Country, value:China
'''

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值