【问题标题】:How to create list of differences between tuple values from a list of tuples [duplicate]如何从元组列表中创建元组值之间的差异列表[重复]
【发布时间】:2019-10-22 01:21:48
【问题描述】:

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

例如,如果我有列表:

[ (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 中,这类事情通常只有一条线。

【问题讨论】:

标签: python list numpy tuples


【解决方案1】:

使用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])

【讨论】:

  • 完美。谢谢。
  • 您也可以直接从列表推导中的迭代器中解压元组:[y - x for x, y in lst]
  • 太棒了。谢谢!
猜你喜欢
  • 2015-10-16
  • 2011-11-10
  • 2019-11-26
  • 1970-01-01
  • 2012-03-10
  • 2018-11-21
  • 2019-11-23
  • 2019-01-19
  • 1970-01-01
相关资源
最近更新 更多