习题元祖与字典的值交换

交换值:

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}

 

posted on 2017-12-06 14:22 .Tang 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/tangpg/p/7992473.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值