求教关于元组中元素可变问题
时间:2010-11-24
来源:互联网
本帖最后由 yoyoo1625 于 2010-11-24 12:21 编辑
元组1:
复制代码
元组2:
复制代码
希望得到的结果为
复制代码
是否要先转换为list,然后处理?请问如何处理呢?
元组1:
- ((001,19991,10),(001,19992,14),(002,19997,8),(003,19994,52),(003,19986,2)...)
- ((19991,12),(19997,10)...)
- 001 19991 12
- 001 19992 14
- 002 19997 10
- 003 19994 52
- 003 19986 2
作者: yoyoo1625 发布时间: 2010-11-24
自己解决
复制代码
- #!/usr/bin/env python
- import os,sys
-
- yz1 = ((1001,19991,10),(1001,19992,14),(1002,19997,8),(1003,19994,52),(1003,19986,2))
- yz2 = ((19991,12),(19997,10))
-
- arow = list(yz1)
- lrow = dict(yz2)
- for i, att in enumerate(arow):
- if att[1] in lrow.keys():
- lrow.keys().remove(att[1])
- arow[i] = (att[0],att[1],lrow[att[1]])
- print arow[i][0],arow[i][1],arow[i][2]
作者: yoyoo1625 发布时间: 2010-11-24
- t1 = ((001,19991,10),(001,19992,14),(002,19997,8),(003,19994,52),(003,19986,2))
- t2 = ((19991,12),(19997,10))
-
- print '\n'.join(map(lambda item: '%03d %d %d' % (item[0], item[1], dict(t2).get(item[1], item[2])), t1))
作者: ixuh 发布时间: 2010-11-24
回复 yoyoo1625
忘记说明了,楼上代码仅供炫耀,实际开发勿用 - -#
给你一段正常些的吧
复制代码
仅仅是把那一段花哨的内置函数替换掉了,不过看的舒服很多
忘记说明了,楼上代码仅供炫耀,实际开发勿用 - -#
给你一段正常些的吧
- t1 = ((001,19991,10),(001,19992,14),(002,19997,8),(003,19994,52),(003,19986,2))
- t2 = ((19991,12),(19997,10))
- d = dict(t2)
- for item in t1:
- print item[0], item[1], d.get(item[1], item[2])
作者: ixuh 发布时间: 2010-11-24
回复 ixuh
赞!
赞!
作者: yoyoo1625 发布时间: 2010-11-24
从这个例子我看不出有什么通用的地方,楼主可否指点一下。
四楼这位兄台
,在下佩服。。。
四楼这位兄台

作者: ning_lianjie 发布时间: 2010-11-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28