1. 单星(*) 和双星(**) 运算符的作用,请举例说明
# 单星 (*)# 以元组形式导入# 可变参数# 如果可变参数不是最后一个参数,那么为可变参数后面的形参指定参数值,必须用命名参数def fun1(param1, *param2, x):print('param1: ', param1)print('param2: ', param2, type(param2))print('x: ', x)fun1(1, 2, 3, 4, 5, x=6)
param1: 1param2: (2, 3, 4, 5) <class 'tuple'>x: 6
# 双星号 (**)# 以字典形式导入 key 和 valuedef fun2(param1, **param2):print('param1: ', param1)print('param2: ', param2, type(param2))fun2(1, a=2, b=3, c=4, d=5)
param1: 1param2: {'a': 2, 'b': 3, 'c': 4, 'd': 5} <class 'dict'>
2. 请描述合并列表和字典的方法有哪些?
# 列表a = [1, 2, 3]b = [4, 5, 6]# 1c = a + bprint(c)# 2a.extend(b)print(a)# 3a = [1, 2, 3]b = [4, 5, 6]x = [a, b]print(x)x = [*a, *b]print(x)
[1, 2, 3, 4, 5, 6][1, 2, 3, 4, 5, 6][[1, 2, 3], [4, 5, 6]][1, 2, 3, 4, 5, 6]
# 字典a = {'A': 1, 'B': 2}b = {'C': 3, 'D': 4}c = {**a, **b}print(c)
{'A': 1, 'B': 2, 'C': 3, 'D': 4}
16 - 快速调换字典中的 key 和 value