3.11新特性,结构模式匹配 , 字典合并 ,同步迭代
match-case 语句 和其他语言的 switch-case 语句类似 用作多条件的分支选择。在 Python 中,case 关键词的后面叫做模式(pattern) 匹配字面值
代码1
# 结构模式匹配
score = input('请输入成绩等级:')
match score:
case 'A':
print('优秀')
case 'B':
print('良好')
case 'C':
print('及格')
case 'D':
print('不及格')
case _:
print('都不匹配')
print('---------------------------------------')
sex = int(input('请输入性别(1:男,0:女)'))
match sex:
case 0:
print('你好:美女。')
case 1:
print('Hello,帅哥')
case _:
print('未知性别')
代码2
# 字典合并
dict1 = {'a':10,'b':20}
dict2 = {'c':30,'d':40,'e':50}
merged_dict = dict1 | dict2
print(f'字典合并:{merged_dict}')
# 同步迭代
# 集合是无序的要注意输出的结果
print('同步迭代->集合是无序的')
fruits = {'apple','orange','pear','grape'}
counts = [10,3,4,5]
for f,c in zip(fruits,counts):
match f,c:
case 'apple',10:
print('同步迭代->集合是无序的->10个苹果')
case 'orange',3:
print('同步迭代->集合是无序的->3个桔子')
case 'pear',4:
print('同步迭代->集合是无序的->4个梨')
case 'grape',5:
print('同步迭代->集合是无序的->5串葡萄')
# 列表是有序的
print('同步迭代->列表是有序的')
fruits1 = ['apple','orange','pear','grape']
counts1 = [10,3,4,5]
for f1,c1 in zip(fruits1,counts1):
match f1,c1:
case 'apple',10:
print('同步迭代->列表是有序的->10个苹果')
case 'orange',3:
print('同步迭代->列表是有序的->3个桔子')
case 'pear',4:
print('同步迭代->列表是有序的->4个梨')
case 'grape',5:
print('同步迭代->列表是有序的->5串葡萄')