如何从元组列表中创建元组值之间的差异列表

时间:2019-06-06 13:48:03

标签: python list numpy tuples

我有一个元组列表。每个元组包含两个整数。我想在每个元组中创建两个整数之间的差异列表。有没有简单的方法可以做到这一点?

例如,如果我有列表:

[ (1,2),(3,5),(6,9),(10,15)]

结果应为:

[1,2,3,5]

我是python的新手,尽管我知道我可以做类似的事情:

diff = []
for tup in x:
    diff.append(tup[1]-tup[0])

但是在我看来,在python / numpy中,通常会出现这种情况。

1 个答案:

答案 0 :(得分:3)

使用list comprehensions

diff = [t[1] - t[0] for t in lst],其中lst是您的初始列表。

或喜欢它:

diff = [y - x for x, y in lst]

map函数:

diff = list(map(lambda x: x[1] - x[0], lst))

如果您使用的是numpy:

npl = np.array([(1,2),(3,5),(6,9),(10,15)])
diff = npl[:,1] - npl[:,0]
  

array([1, 2, 3, 5])