python字典

一. 字典的创建

# 有数据字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}

# 空字典
dict2 = {}

dict3 = dict()

print(type(dict3))  # <class 'dict'>

 二. 字段的常见操作

1. 新增/修改

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

dict1['name'] = 'Rose'
print(dict1)     # {'name': 'Rose', 'age': 20, 'gender': '男'}

dict1['id'] = 110
print(dict1)    # {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}

2. 删除

2.1. del 删除指定键值对 

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

del dict1['gender']
print(dict1)    # 结果:{'name': 'Tom', 'age': 20}

2.2. clear() 清空字典

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

dict1.clear()
print(dict1)  # {}

2.3 pop()删除指定key的元素,并返回被删除元素的value,如果指定key不存在,则返回默认值,没有指定默认值且key不存在则报错

a = {"bb":1, "cc":2}
c = a.pop("bb")   # 删除key为bb的元素,并返回bb对应的value
print(c)
print(a)
c = a.pop("dd", 3)     # key不存在,返回指定的默认值3
print(c)
print(a)
c = a.pop("ee")   # key不存在,且没有指定默认值,报错:KeyError: 'ee'

执行结果:

1
{'cc': 2}
3
{'cc': 2}
Traceback (most recent call last):
  File "D:/work/code/test_pro/hash_demo.py", line 52, in <module>
    c = a.pop("ee")   # key不存在,且没有指定默认值,报错:KeyError: 'ee'
KeyError: 'ee'

 

3. 查询

3.1. 直接获取

dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}
print(dict1['name'])  # Tom
print(dict1['id'])  # KeyError: 'id'

注意:key不存在时会报错

3.2. get() 方法获取

dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}
print(dict1.get('name'))  # Tom
print(dict1.get('id', 110))  # 第二个参数为默认值,110
print(dict1.get('id'))  # None

注意:key不存在时返回None

3.3. keys() 获取所有的key

dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}
print(type(dict1.keys()))  # <class 'dict_keys'>
print(dict1.keys())  # dict_keys(['name', 'age', 'gender'])

注意:获取到的不是简单的列表,类型为dict_keys,获取到的对象为可迭代对象

3.4. values() 获取所有的value

dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}
print(dict1.values())  # dict_values(['Tom', 20, '男'])

3.5. items() 获取所有的键值对到元组列表

dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}
print(dict1.items())  # dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])

4. 字典的遍历

4.1. 通过keys() 方法遍历

dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}
for key in dict1.keys():
    print(dict1[key])

4.2. 通过items() 方法遍历

dict1 = {'name': 'Tom', 'age': 20, 'gender': ''}
for item in dict1.items():
    print(item)
for key, value in dict1.items():
    print(f'{key} = {value}')

 5. 对字典进行排序

d = {
    'a':2,
    'b':3,
    'c':1
}
print(sorted(d))    # ['a', 'b', 'c']
  • 得到的是key排序后的列表
posted @ 2020-12-19 12:01  foreast  阅读(63)  评论(0编辑  收藏  举报