2024-10-03 00:32:15 发布
网友
我试图减去两个长度相同的列表中的值,以形成一个新的列表。例如,如果我有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])]
这是给我一个浮动,而不是一个列表
您可以使用内置的zip以以下方式执行您想要的操作(是的,我知道您说过只使用for):
zip
for
def calcMeanDiff(numbers1,numbers2): return [abs(x-y) for x,y in zip(numbers1,numbers2)]
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]
您需要将计算差值添加到列表中,然后返回该值 列表您所做的就是在每个循环中将这些值分配给差异(变量) 每个循环都会发生变化
试试这个
def calcMeanDiff(numbers1,numbers2): diff = [] for i in range(len(numbers1)): difference=[abs(numbers1[i]-numbers2[i])] diff += difference return diff
您应该创建一个新列表来保存差异
您可以使用内置的
zip
以以下方式执行您想要的操作(是的,我知道您说过只使用for
):您需要将计算差值添加到列表中,然后返回该值 列表您所做的就是在每个循环中将这些值分配给差异(变量) 每个循环都会发生变化
试试这个
您应该创建一个新列表来保存差异
相关问题 更多 >
编程相关推荐