我有两个元组。你知道吗
Tuple1 = (('James', 129L, 37L, 'IndexName1'), ('Jane', 231L, 23L, 'IndexName2')
Tuple2 = ((1L, 'IndexName1'), (2L, 'IndexName2'), (2L, 'IndexName3') )
我想把这两个元组转换成一个这样的元组
OutputTuple = (('James', 129L, 37L, 1L), ('Jane', 231L, 23L, 2L)
OutputTuple与Tuple1几乎相同。不同的是,第四个元素(IndexNameX)被Tuple2中的一个数字替换了。你知道吗
如何在Python中实现这一点?我使用的是python2.7
编辑:谢谢你的回答。他们工作,但我仍然有一个问题。实际的Tuple1如下所示
Tuple1 = (('Jane', 231L, 23L, 'IndexName5'), ('James', 129L, 37L, 'IndexName1') )
有一个IndexName5在Tuple2中没有对应的匹配项。当我在提供的答案中运行代码时,会出现一个错误。如何忽略没有对应匹配的情况?你知道吗
虽然我同意这里的其他答案,但事实是dict是在这种情况下应该使用的数据结构。以下是您需要的:
你应该用
Tuple2
做一个dict
:然后在每个元素的第四个元素上进行
OutputTuple
查找:我肯定会推荐另一种数据结构,正如sashkello所建议的,但现在您可以这样做:
输出:
相关问题 更多 >
编程相关推荐