python数据类型-字典

1 字典定义

1)字典中的元素时一个个键值对,键和值之间用冒号:分隔,键值对元素之间用逗号分隔,格式:d = {key1 : value1, key2 : value2 }
2)字典中的键是唯一的,值可以重复
注**:键不可变,因此键可以是数字、字符串或元素,但不能为列表**

2 字典的创建方式

1)通过在{}放键值对
2) 通过dict函数,入参为list,如下代码dic2
3)通过dict函数,入参为多个键值对参数,如下代码 dic3
4)通过两个list,如dic4
5)其它方式
6)空字典:dict() 或者 {}

dic1 = {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}

lst = [('Author', 'Python当打之年'), ('age', 99), ('sex', '男')]
dic2 = dict(lst)
print(type(dic2))  # <class 'dict'>

dic3 = dict(Author='Python当打之年', age=99, sex='男')
print(type(dic3), dic3)  # <class 'dict'> {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}

# 方法4
list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', 99, '男']
dic4 = dict(zip(list1, list2))
print(type(dic4), dic4)  # <class 'dict'> {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}

3 字典增、删、改、查


dict11 = {'name': 'tom', 'age': 25, 'address': '不详'}
dict22 = {'sex': '男'}
# 添加元素,如果update中添加的键已经存在则修改原有的值
dict11.update(dict22)
print(dict11)  # {'name': 'tom', 'age': 25, 'address': '不详', 'sex': '男'}

# 删除
del dict11['name']
print(dict11)  # {'age': 25, 'address': '不详', 'sex': '男'}
tem_name = dict11.pop('name')  # 使用pop指定键删除,并返回被删除键对应的值
dict11.clear()  # 清空字典

# 修改
dict11['name'] = 'henry'
print(dict11)  # {'name': 'henry', 'age': 25, 'address': '不详', 'sex': '男'}
dict11.update({'name': 'sam'})
print(dict11)  # {'name': 'sam', 'age': 25, 'address': '不详', 'sex': '男'}
dict11.update(dict(name='小狗'))
print(dict11)  # {'name': '小狗', 'age': 25, 'address': '不详', 'sex': '男'}

# 查
# 简单访问
name = dict11['name']
print(name)  # tom
print(dict11.get('address'))  # 不详
print(type(dict11.keys()), dict11.keys())  # <class 'dict_keys'> dict_keys(['name', 'age', 'address', 'sex'])
print(dict11.items())  # dict_items([('name', 'tom'), ('age', 25), ('address', '不详'), ('sex', '男')])

# 遍历访问

# 使用for循环对字典进行遍历,默认获取的是字典的每一个键
for i in dict11:
    print(i)
    
# 获取的是字典的每一个键
for i in dict11.keys():
    print(i)

# 获取的是字典的每一个值
for i in dict11.values():
    print(i)
    
# 获取的是字典中每一个键值对组成的元组
for i in dict11.items():
    print(i)

# 分别拿到字典的键和值
for i in dict11:
    print(i, dict11[i])

for key, value in dict11.items():
    print(key, value)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值