猿问

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

我试图减去两个长度相同的列表中的值以形成一个新列表。例如,如果我有 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])]

这是给我一个浮点数而不是一个列表


倚天杖
浏览 189回答 3
3回答

幕布斯6054654

试试这个。def calcMeanDiff(numbers1,numbers2):    diff = []    for i in range(len(numbers1)):        difference=[abs(numbers1[i]-numbers2[i])]        diff += difference    return diff您应该创建一个新列表来保存差异。

犯罪嫌疑人X

def calcMeanDiff(numbers1,numbers2):    difference=[]    for n in range(len(numbers1)):        difference.extend([abs(numbers1[n]-numbers2[n])])    return differencelist1=[3,3,3]list2=[2,2,2]list3=calcMeanDiff(list1,list2)print(list3)# output [1,1,1]您需要将计算差值添加到列表中,然后返回该列表。您所做的是在每个循环中将这些值分配给每个循环都会改变的差异(变量)。

qq_花开花谢_0

您可以通过zip以下方式使用内置函数执行您想要的操作(是的,我知道您说只使用for):def calcMeanDiff(numbers1,numbers2):     return [abs(x-y) for x,y in zip(numbers1,numbers2)]
随时随地看视频慕课网APP

相关分类

Python
我要回答