目录
?
Python字典是一种键值对集合,用于存储和检索数据。他是一个无序的键值对集合,其中键是唯一的,值可以是任何数据类型,如:整数、浮点数、字符串、列表、元组等。
字典的创建可以通过大括号{}或者dict函数来实现
def func01():
# 定义字典字面量
{1: 2, 3: 4, 5: 6}
# 定义字典变量
my_dict01 = {1: '张三', 2: '李四', 3: '王五'}
# 定义空字典
my_dict02 = {}
my_dict03 = dict()
# 定义重复 key 的字典
my_dict04 = {1: '张三', 2: '李四', 3: '王五', 1: '赵六'}
print(my_dict04[1])
重复 key 的结果
可以发现,虽然不会报错,但是 后面 的 value 值会将 前面 的 value 值覆盖掉??
字面量https://blog.csdn.net/weixin_57154777/article/details/133385706?spm=1001.2014.3001.5501
字典同集合一样,不可以使用下表索引,但是字典可以通过key值来取得对应的value
def func02():
my_dict = {'小明': 10, '小红': 12, '小刚': 13}
age = my_dict['小明']
print(f'指定人物的年龄为:{age}')
某IT公司进行秋招,HR在看简历的时候,看到如下信息
????????张三,男,掌握Python、C++
????????李四,女,掌握Python、Java
????????王五,男,掌握Python,Ps
????????赵六,女,掌握Python、PHP
现你将如上信息进行归总(必须使用字典)
person_data = \
{
'张三': {'男': {'Python': 'C++'}},
'李四': {'女': {'Python': 'Java'}},
'王五': {'男': {'Python': 'Ps'}},
'赵六': {'女': {'Python': 'PHP'}}
}
编号 | 操作 | 说明 |
1 | 字典[key] | 获取指定key对应的value值 |
2 | 字典[key] = value | 添加或更新键值对 |
3 | 字典.pop(key) | 去除key对应的value并在字典内删除此key的键值对 |
4 | 字典.clear() | 清空字典 |
5 | 字典.keys() | 获取字典的全部key,可用于for循环遍历字典 |
6 | len(字典) | 计算字典内的元素数量 |
def func04():
my_dict01 = {1: '张三', 2: '李四', 3: '王五'}
# 访问字典中的键值对
name = my_dict01[1]
print(f'指定序号的名字为:{name}')
# 判断字典中是否存在某个键
# 通过 键 进行判断
if 1 in my_dict01.keys():
print('字典中存在指定元素')
else:
print('字典中不存在指定元素')
# 通过 值 进行判断
if '张三' in my_dict01.values():
print('字典中存在指定元素')
else:
print('字典中不存在指定元素')
# 添加或更新键值对
# 添加键值对
my_dict01[4] = '赵六'
print(f'添加元素之后:{my_dict01}')
# 更新键值对
my_dict01[1] = '老张'
print(f'更新字典内容后:{my_dict01}')
# 去除key对应的value并在字典内删除此key的键值对
my_dict01.pop(1)
print(f'去除指定key之后:{my_dict01}')
my_dict02 = {'小明': 10, '小红': 12, '小刚': 13}
# 获取字典的全部的键值对
print(f'字典内全部的键值对为:{my_dict02.items()}')
# 获取字典内的元素数量
my_len = len(my_dict02)
print(f'字典内的元素数量为:{my_len}')
某商场有一些货物,为了使得盈利最大化,现将库存量小于40的商品进行价格上涨10%,库存量小于20的上涨20%,库存量小于5%的上涨40%
commodity_information = \
{
'商品A': {'inventory': 100, 'price': 800},
'商品B': {'inventory': 620, 'price': 520},
'商品C': {'inventory': 150, 'price': 60},
'商品D': {'inventory': 40, 'price': 40},
'商品E': {'inventory': 1000, 'price': 200},
'商品F': {'inventory': 4, 'price': 5000}
}
count = 0
for information in commodity_information.values():
count += 1
if information['inventory'] <= 40:
information['price'] *= 1.1
elif information['inventory'] <= 20:
information['price'] *= 1.2
elif information['inventory'] <= 5:
information['price'] *= 1.4
else:
print(f'第{count}件商品库存数量正常,不对价格进行修改')
print(f'新商品信息{commodity_information}')
def func05():
commodity_information = \
{
'商品A': {'inventory': 100, 'price': 800},
'商品B': {'inventory': 620, 'price': 520},
'商品C': {'inventory': 150, 'price': 60},
'商品D': {'inventory': 40, 'price': 40},
'商品E': {'inventory': 1000, 'price': 200},
'商品F': {'inventory': 4, 'price': 5000}
}
print(f'原商品信息:{commodity_information}')
count = 0
for information in commodity_information.values():
count += 1
if information['inventory'] <= 40:
information['price'] *= 1.1
elif information['inventory'] <= 20:
information['price'] *= 1.2
elif information['inventory'] <= 5:
information['price'] *= 1.4
else:
print(f'第{count}件商品库存数量正常,不对价格进行修改')
print(f'新商品信息{commodity_information}')
Python 字典是一种键值对集合,可以用来存储和检索数据。它是一种动态数据类型,可以随时添加、删除或修改键值对。
{}
?创建一个空字典{'key': 'value'}
dict[key]
in
?关键字检查字典中是否存在某个键dict[key] = value
del
?关键字删除字典中的键值对,例如?del dict[key]
keys()
?方法遍历字典中的所有键values()
?方法遍历字典中的所有值items()
?方法遍历字典中的所有键值对