1. 结构模型匹配
语法结构:
match data:
case {}:
pass
case []:
pass
case ():
pass
case _:
pass
----------
data = eval(input('请输入要匹配的数据:'))
match data:
case {'name':'kyle','age':20}:
print("字典")
case [1,2,3]:
print("列表")
case (1,2,3):
print("元组")
case _:
print("None")
2. 字典合并运算符|
d1 = {'kyle':10,'age':20}
print(d1) #{'kyle': 10, 'age': 20}
d2 = {'rock':10,'tail':20}
print(d2) #{'rock': 10, 'tail': 20}
d3 =d1 | d2
print(d3) #{'kyle': 10, 'age': 20, 'rock': 10, 'tail': 20}
3. 同步迭代
fruits = {'apple','banana','orange','pear'} # 集合无序
count = [1,3,5,7]
for f,c in zip(fruits,count):
match f,c:
case 'apple',1:
print('10个苹果')
case 'banana',3:
print('3个香蕉')
case 'orange', 5:
print('5个橙子')
case 'pear',7:
print('7个梨')
# 由于集合无序,所以不一定对的上
将集合换成列表即可
fruits = ['apple','banana','orange','pear']
# 换成列表结果:
10个苹果
3个香蕉
5个橙子
7个梨