习题元祖与字典的值交换

交换值:

a,b = 1,2      相当于 a.b=(1,2)  右边是一个元组,a,b 将元祖(1,2)解包成 a=1,b=2

>>> a,b=1,2
(1, 2)
>>> a
1
>>> b
2
>>> a,b = b,a
>>> a,b
(2, 1)
>>> a
2
>>> b
1

例.定义一个函数,能够输入字典和元组。将字典的值(value) 和 元组的值交换,交换结束后,打印并且返回 字典和元祖。

di = {'a':1,'b':2,'c':3}
tu = (4,5,6)


def exchange(*arg,**kwargs):
  t = list(arg) # 元组不可变,不能进行重新赋值,变成了列表
  d = kwargs
  print('t=',t,'d=',d) #1.拿到 元组、字典

  n = 0 #用来循环的,拿到tu 的value

  #2.拿到所有的value
  for i in d.keys():
    print(d[i]) # dict value
    print( t[n]) #tuple value

    ##3.交换
    d[i],t[n] = t[n],d[i] 
    n += 1

  t = tuple(t) # 4.list 转换为tuple
  print('t=',t,'d=',d) 
  return t,d

exchange(1,2,3,a=11,b=22,c=33)

>>> t= (11, 22, 33) d= {'a': 1, 'b': 2, 'c': 3}

原文地址:https://www.cnblogs.com/tangpg/p/7992473.html