如何用列表推导式给列表中每个元组的第0位元素加1
用列表推导式给元组列表的每个元组第0位元素加1
直接用列表推导式就能快速实现需求,具体代码如下:
首先定义原列表:
in_list = [(0, 1), (1, 1), (2, 1), (3, 3), (4, 4)]
生成目标新列表的列表推导式:
new_list = [(item[0] + 1, item[1]) for item in in_list]
说明
这个推导式会遍历原列表中的每一个元组item:
- 对元组的第0位元素(
item[0])执行加1操作 - 直接保留元组的第1位元素(
item[1])不变 - 将处理后的两个值组成新元组,最终所有新元组会自动收集为一个新列表
运行后new_list的结果就是你期望的:
[(1, 1), (2, 1), (3, 1), (4, 3), (5, 4)]
如果你的元组长度不止两位,还可以用更通用的写法兼容任意长度的元组:
new_list = [(item[0]+1, *item[1:]) for item in in_list]
这种写法会保留元组第0位之后的所有元素,不用局限于只保留第1位。
内容的提问来源于stack exchange,提问作者GBG
相关产品推荐
相关产品推荐

