dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
print(dog['name'])
# 可乐
print(dog['gender'])
# 公
# print(dog['weight']) # 报错! KeyError: 'weight'
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
print(dog.get('name'))
# 可乐
print(dog.get('weight'))
# None
print(dog.get('name', '财财'))
# 可乐
print(dog.get('weight', 10))
# 10
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
print(dog)
# {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
dog['name'] = '土豆'
print(dog)
# {'name': '土豆', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
dog['weight'] = 15
print(dog)
# {'name': '土豆', 'age': 3, 'breed': '哈士奇', 'gender': '公', 'weight': 15}
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
dog.setdefault('name', '土豆')
print(dog)
# {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
dog.setdefault('weight', 10)
print(dog)
# {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公', 'weight': 10}
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
del dog['breed']
print(dog)
# {'name': '可乐', 'age': 3, 'gender': '公'}
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
result = dog.pop('name')
print(dog)
# {'age': 3, 'breed': '哈士奇', 'gender': '公'}
print(result)
# 可乐
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
dog.clear()
print(dog)
# {}
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
print('可乐' in dog) # False
print('name' in dog) # True
dog = {'name': '可乐', 'age': 3, 'breed': '哈士奇', 'gender': '公'}
print(len(dog))
# 4
data = [(10, 20), 'ab', range(2)]
print(dict(data))
# {10: 20, 'a': 'b', 0: 1}
data = [(100, 23), ('name', '小明'), (80, 100)]
print(data)
# [(100, 23), ('name', '小明'), (80, 100)]
names = ['琴酒', '灰原哀', '柯南', '毛利兰', '贝尔摩德']
print(dict(enumerate(names)))
# {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德'}
names = {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德'}
print(id(names))
# 18882368
print(id(names.copy()))
# 18822976
print(names.copy())
# {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德'}
names = {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德'}
print(names.keys())
# dict_keys([0, 1, 2, 3, 4])
# 虽然返回的不是列表没办法进行列表的操作,但只要是容器就可以循环取值
for i in names.keys():
print(i,end=" ")
# 0 1 2 3 4
names = {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德'}
print(names.values())
# dict_values(['琴酒', '灰原哀', '柯南', '毛利兰', '贝尔摩德'])
for i in names.values():
print(i,end=" ")
# 琴酒 灰原哀 柯南 毛利兰 贝尔摩德
names = {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德'}
print(names.items())
# dict_items([(0, '琴酒'), (1, '灰原哀'), (2, '柯南'), (3, '毛利兰'), (4, '贝尔摩德')])
for i in names.items():
print(i,end=" ")
# (0, '琴酒') (1, '灰原哀') (2, '柯南') (3, '毛利兰') (4, '贝尔摩德')
names = {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德'}
names.update({5: '赤井秀一', 6: '阿笠博士'})
print(names)
# {0: '琴酒', 1: '灰原哀', 2: '柯南', 3: '毛利兰', 4: '贝尔摩德', 5: '赤井秀一', 6: '阿笠博士'}
result = {x: x**2 for x in range(10)}
print(result)
# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
字典(dictionary)是除列表之外python之中最灵活的内置数据结构类型,键只能是不可变类型的数据(一般是字符串)并且键是唯一的,值 - 可以是任何类型的数据,熟练掌握字典和列表的操作,后面在进行数据处理时会有很大帮助。