如何在Python 3中对仅含2个元素的嵌套列表执行元素减法?
解决嵌套列表元素减法的问题
嘿,很容易就能实现你想要的效果!首先看你的需求:每个子列表是两个元素,要计算第一个元素减去第二个元素的结果(从示例输入[[1,2],[3,2]]得到[-1,1]能看出来)。因为减法不像加法那样有通用的内置函数(毕竟减法不满足交换律,没法像sum那样对任意多个元素统一处理),但针对你这种固定两个元素的场景,有几种简单的实现方式:
方法1:直接在循环中计算(最直观)
既然每个子列表只有两个元素,直接通过索引取元素做减法就行,不用额外定义函数:
list_1 = [[1,2],[3,2]] store = [] for x in list_1: store.append(x[0] - x[1]) print(store) # 输出: [-1, 1]
方法2:自定义减法函数
如果你确实想模仿sum的用法,写一个针对双元素列表的减法函数也很简单:
list_1 = [[1,2],[3,2]] store = [] def subtraction(lst): # 针对你的需求,取列表第一个元素减第二个元素 return lst[0] - lst[1] for x in list_1: store.append(subtraction(x)) print(store) # 输出: [-1, 1]
方法3:列表推导式(更简洁)
用Python的列表推导式可以一行搞定,代码更紧凑:
list_1 = [[1,2],[3,2]] store = [x[0] - x[1] for x in list_1] print(store) # 输出: [-1, 1]
总结一下,因为你的子列表结构固定(只有两个元素),直接通过索引计算是最高效也最易读的方式~
内容的提问来源于stack exchange,提问作者Mahir Islam
相关产品推荐
相关产品推荐

