Python基础(3)——字典

1. 字典的创建

字典就是一个存放键——值对的集合。每一个键都与一个值相关联,可以通过键来直接获取到对应的值。

dict1 = {'name': "Meng"}	
dict2 = dict(name='Meng')

注:键值必须是不可变的数据类型,如字符串,元组,数字,而列表,字典,集合都不能作为字典的键。

2. 字典底层实现原理

Python中字典是通过散列表来实现的,也就是说,字典也是一个数组,但数组的索引是键经过哈希函数处理后得到的散列值。

3. 字典的基本用法

personal_info = {"name": "Meng", "age":10, "gender": "male"}
# 通过key访问value
print(personal_info['name'])
# 添加新的key-value
personal_info['height'] = 190
# 修改key对应的value值
personal_info['age'] = 20
# 删除字典中key-value值
del personal_info['gender']
# 判断字典中是否含有指定的key
print('name' in personal_info)

4. 字典中的常用方法

clear() # 用于清空字典中所有的key-value对
copy() # 拷贝字典,浅拷贝
fromkeys(seq[, value]) # 用于创建一个新的字典,以序列seq中字典作为键值,value为对应的键值所对应的初始值,默认为None
get(key) # 获取字典中key对应的value
items() # 获取字典中所有key-value对,返回的为dict_items对象
keys() # 获取字典中所有的key,返回的为dict_keys对象
values() # 获取字典中所有的value,返回的为dict_values对象
update(dic) # 用dic字典来更新原字典中的数据
pop() # 用于获取指定的key对应的value,并删除这个key-value对
popitem() # 随机弹出字典中的一个key-value对
setdefault() # 获取key对应的键值,如果不存在于字典中,将会添加键为默认值

测试

personal_info = {
    'name': "Meng",
    'age': 10,
    'gender': "male"
}
print(personal_info.get('gender'))
print(personal_info.keys())
print(personal_info.values())
print(personal_info.items())
personal_info.update({"age": 15, 'height': 190})
print(personal_info)
print(personal_info.popitem())
print(personal_info)
print(personal_info.pop('age'))
print(personal_info)
print(personal_info.setdefault("weight", 50))
print(personal_info.setdefault("name", None))
personal_info.clear()
print(personal_info)
#=======output=========
male
dict_keys(['name', 'age', 'gender'])
dict_values(['Meng', 10, 'male'])
dict_items([('name', 'Meng'), ('age', 10), ('gender', 'male')])
{'name': 'Meng', 'age': 15, 'gender': 'male', 'height': 190}
('height', 190)
{'name': 'Meng', 'age': 15, 'gender': 'male'}
15
{'name': 'Meng', 'gender': 'male'}
50
Meng
{}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值