有人可以帮我写一个执行此操作的python代码:
A = (1, 3, 5, 5, 2, 4, 6)
基本上,我想创建一个变量,该变量将采用数组中的第一个值(在本例中为1),并从该值中吐出每个元素的差值:
例如1 = 1 = 0
,3-1 = 2
,5-1 = 0
等
最终吐出一个具有以下内容的变量:
A = (0, 2, 4, 4, 1, 3, 5)
答案 0 :(得分:0)
这可能是您的解决方案。
>>> a = [1,2,3,5,6] # your list
>>> a_new = [i-a[0] for i in a] # The output that you need.
>>> a_new
[0, 1, 2, 4, 5]
答案 1 :(得分:0)
首先,在python中的列表用方括号写成这样,
l = [1, 3, 5, 5, 2, 4, 6]
要获得结果,有很多方法。一种方法是列表推导,例如
[x - l[0] for x in l]
您可以使用地图:
map(lambda x: x-l[0], l)
您可以使用许多其他方式的循环。
答案 2 :(得分:0)
基本上,我想创建一个变量,该变量将采用数组中的第一个值(在本例中为1),并从该值中吐出每个元素的差值:
对象A
指向tuple
,而不是列表或数组。
在这里,如何使用generator expression来做到这一点(Python中的一个衬里):
A = (1, 3, 5, 5, 2, 4, 6)
print(tuple(i - li[0] for i in A))
输出:
(0, 2, 4, 4, 1, 3, 5)
答案 3 :(得分:0)
这是一个简单的程序,无需使用lambda并使事情复杂化。
l = [1,3,4,6,5,3,6,8]
num = l[0]
l = [i-num for i in l]
print(l)
如果不想包含第一个元素,请使用此-
l = [1,3,4,6,5,3,6,8]
num = l[0]
l = l[1:]
l = [i-num for i in l]
print(l)
l[1:]
----这将从索引1的值到列表的结尾。
答案 4 :(得分:0)
这是一个简单的问题。人们一直在使用 lambda 函数,但别担心,这里没有必要把事情复杂化。
A = [1, 3, 5, 5, 2, 4, 6]
B = [num-A[0] for num in A]
这为您提供了所需的数组。