我正在寻找一种干净的方法来迭代元组列表,其中每个元组都是一对,如下所示[(a, b), (c,d) ...]
。最重要的是,我想更改列表中的元组。
标准做法是避免在迭代列表的同时更改列表,那么我应该做什么?这就是我想要的:
for i in range(len(tuple_list)):
a, b = tuple_list[i]
# update b's data
# update tuple_list[i] to be (a, newB)
只需替换列表中的元组即可;你can只要避免添加或删除元素,就可以在循环遍历列表时更改列表:
for i, (a, b) in enumerate(tuple_list):
new_b = some_process(b)
tuple_list[i] = (a, new_b)
或者,如果您可以总结更改b
像我上面那样进入函数,使用列表理解:
tuple_list = [(a, some_process(b)) for (a, b) in tuple_list]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)