def merge(dict1, dict2):
return (dict2.update(dict1))
def mergeInport(dict1, dict2):
res = {**dict1, **dict2}
return res
# 两个字典合并为一个字典
if __name__ == '__main__':
print()
# 两个字典,然后将它们合并为一个字典
# update()方法,第二个参数合并第一个参数
dict1 = {'a': 10, 'b': 8}
dict2 = {'a': 5, 'c': 4}
print(merge(dict1, dict2)) # 保留前者的
print(dict2) # dict2 合并了 dict1
# **,函数将参数以字典的形式导入
dict1 = {'a': 10, 'b': 8}
dict2 = {'a': 5, 'c': 4}
dict3 = mergeInport(dict1, dict2) # 保留后者的
print(dict3)
附录-*和**
乘法运算符号
a=1
b=2
c=a*b
收集列表中多余的值
无需确保值与变量个数相同
if __name__ == '__main__':
print()
a,b,*c=[1,2,3,4]
print(a)
print(b)
print(c) # [3, 4],c前面的*号收集参数,以列表的形式返回
函数中*号的作用:收集参数/分配参数
场合是在函数定义还是函数调用
函数形参
*代表收集参数,**代表收集关键字参数
一个*
def myprint(*params):
print(params)
if __name__ == '__main__':
print()
myprint(1,2,3) # (1, 2, 3) 将调用时提供的所有值,放在一个元组里
在函数形参*params后面,最好不要再加入别的形参
定义成 def myprint(*params,x) ,调用myprint(1,2,3)报错。
非要这么定义,调用时显式指出哪个值给x
def myprint(*params, x):
print(params) # (1, 2)
print(x) # 3
if __name__ == '__main__':
print()
myprint(1,2,x=3)
两个*
def myprint(**params):
print(params)
if __name__ == '__main__':
print()
myprint(x=1,y=2,z=3) # {'x': 1, 'y': 2, 'z': 3} 字典中元素的先后顺序取决于环境
函数调用
*和**用于分配参数
一个*
def myprint(x,y):
print(x)
print(y)
if __name__ == '__main__':
print()
params = (1, 2)
myprint(*params) # 分配元组,形参有两个,但实参一个
两个*
def myprint(x,y):
print(x)
print(y)
if __name__ == '__main__':
print()
params={'x':1,'y':2} # 分配字典,形参有两个,但实参一个
myprint(**params)
定义和调用函数时都使用星号
将值传递元组或字典,没有实际意义,无法体验收集参数/分配参数的能力文章来源:https://www.toymoban.com/news/detail-508015.html
参考文档
https://blog.csdn.net/zkk9527/article/details/88675129文章来源地址https://www.toymoban.com/news/detail-508015.html
到了这里,关于python的字典合并和星号功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!