为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不使用内置函数的情况下在python中减去两个长度相同的列表中的值

如何在不使用内置函数的情况下在python中减去两个长度相同的列表中的值

倚天杖 2021-12-17 14:43:36
我试图减去两个长度相同的列表中的值以形成一个新列表。例如,如果我有 list1=[3,3,3] 和 list2=[2,2,2] 我想编写一个程序来减去组件并给出 list3=[1,1,1]我试过这个:def calcMeanDiff(numbers1,numbers2):    for n in range(0,len(numbers1),1):        difference=[abs(numbers1[n]-numbers2[n])]这是给我一个浮点数而不是一个列表
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

试试这个。


def calcMeanDiff(numbers1,numbers2):

    diff = []

    for i in range(len(numbers1)):

        difference=[abs(numbers1[i]-numbers2[i])]

        diff += difference

    return diff

您应该创建一个新列表来保存差异。


查看完整回答
反对 回复 2021-12-17
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

def calcMeanDiff(numbers1,numbers2):

    difference=[]

    for n in range(len(numbers1)):

        difference.extend([abs(numbers1[n]-numbers2[n])])

    return difference


list1=[3,3,3]

list2=[2,2,2]


list3=calcMeanDiff(list1,list2)


print(list3)


# output [1,1,1]

您需要将计算差值添加到列表中,然后返回该列表。您所做的是在每个循环中将这些值分配给每个循环都会改变的差异(变量)。


查看完整回答
反对 回复 2021-12-17
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

您可以通过zip以下方式使用内置函数执行您想要的操作(是的,我知道您说只使用for):

def calcMeanDiff(numbers1,numbers2):
    return [abs(x-y) for x,y in zip(numbers1,numbers2)]


查看完整回答
反对 回复 2021-12-17
  • 3 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信