尝试从列表的第一个值计算列表中的差异

时间:2020-02-24 17:49:50

标签: python arrays

有人可以帮我写一个执行此操作的python代码:

A = (1, 3, 5, 5, 2, 4, 6)

基本上,我想创建一个变量,该变量将采用数组中的第一个值(在本例中为1),并从该值中吐出每个元素的差值:

例如1 = 1 = 03-1 = 25-1 = 0

最终吐出一个具有以下内容的变量:

A = (0, 2, 4, 4, 1, 3, 5) 

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]

这为您提供了所需的数组。

相关问题