Python-减去元组列表中的元素

锅饼

我有两个元组列表。

x = [(A1, B1, C1), (A2, B2, C2),...(AN, BN, CN)]

y = [(A1_, B1_, C1_), (A2_, B2_, C2_),...(AN_, BN_, CN_)]

我想做以下事情:

  1. 取得新清单[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
  2. 然后从那里创建一个仅包含[C1-C1_,C2-C2 _...]的列表

我敢说Numpy中的某些功能可以使我做到这一点,但是我仍然没有挖掘如何对元组中的一个元素进行操作,因此,我将不胜感激。谢谢。

忘了它

如果您以元组列表开始xy成为元组列表,那么将它们转换为2D NumPy数组很容易:

import numpy as np

x = np.array([(1,2,3), (4,5,6), (7,8,9)])
y = np.array([(10,20,30), (40,50,60), (70,80,90)])

然后创建一个阵列类似于

[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]

您可以这样做:

z = x[:]           # make a copy of array x
z[:,2] -= y[:,2]   # subtract the 3rd column of y from z

print(z)

产量

[[  1   2 -27]
 [  4   5 -54]
 [  7   8 -81]]

并得到

[C1 - C1_, C2 - C2_,...]

你既可以使用z[:, 2],或直接从获取它xy使用x[:, 2] - y[:, 2]

[-27 -54 -81]

我可能会误解您的问题,但是当您说“我仍然没有挖掘出如何对元组中的一个元素进行运算”时,我认为您可能正在将元组存储在NumPy数组中。如果是这样,那么我敦促您重新考虑使用NumPy的方式:

您会看到,当您dtype=object将Python对象存储在NumPy数组(例如元组)中时,在这些对象上完成的所有操作最终都涉及对Python函数的调用,而不是NumPy通常调用的更快的C / Fortran编译函数。

因此,尽管您可能喜欢NumPy语法来选择数组中的项目,但与普通的Python对象相比,您没有获得任何速度优势。实际上,它可能比使用普通的Python对象(例如元组列表)要慢。

出于这个原因,我建议尽可能避免将Python对象存储在NumPy数组中,尤其是当这些对象是数字对象时,因为NumPy的本机数字dtype更好用。

与其在数组中存储3个元组,不如在NumPy数组中添加额外的维度(所谓的“轴”)并沿该轴存储3个分量,会更好。

完成此操作后,您所考虑的数值计算就轻松了。可以通过以下方式完成:

x[:,2]-y[:,2]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在嵌套列表python中访问元组元素

来自分类Dev

从Python中的元组列表中获取配对元素

来自分类Dev

在python列表中串联一个元组的元素

来自分类Dev

如何从ReportLab表的python中的元组列表中提取元素?

来自分类Dev

Python:list是元组中的元素时的列表操作

来自分类Dev

Python:计数直到列表中的元素为元组

来自分类Dev

根据条件在Python中删除元组列表的元素

来自分类Dev

在python列表中串联一个元组的元素

来自分类Dev

比较元组元素列表python

来自分类Dev

比较元组元素列表python

来自分类Dev

在Python 3中按特定的元组元素对元组列表进行排序

来自分类Dev

合并python中的元组列表

来自分类Dev

从Python中的列表访问元组

来自分类Dev

合并python中的元组列表

来自分类Dev

交叉合并列表元素以获取Python中的元组列表

来自分类Dev

在Python中从自身减去列表的每个元素的有效方法

来自分类Dev

如何在熊猫列表中减去元组元素并应用条件?

来自分类Dev

Python-列表+元组元素的长度

来自分类Dev

Python,从元组列表中选择特定元素

来自分类Dev

基于相邻元组值加入python列表元组元素

来自分类Dev

什么是使元组列表中的元素在python中唯一的有效方法?

来自分类Dev

遍历两个列表以在python中获取元组中的元素

来自分类Dev

如何减去列表中的元组?

来自分类Dev

从 Python 中的列表创建元组列表

来自分类Dev

在python中减去列表和重复项

来自分类Dev

用 Python 中的相同列表减去列表中的列表

来自分类Dev

在Python中,给定一个元组列表,生成一个列表,其元素为所包含元组的元素之和

来自分类Dev

如何在python中的元组列表中有效获取元素

来自分类Dev

Python-如何根据索引将列表的几个元素合并到元组中?

Related 相关文章

  1. 1

    在嵌套列表python中访问元组元素

  2. 2

    从Python中的元组列表中获取配对元素

  3. 3

    在python列表中串联一个元组的元素

  4. 4

    如何从ReportLab表的python中的元组列表中提取元素?

  5. 5

    Python:list是元组中的元素时的列表操作

  6. 6

    Python:计数直到列表中的元素为元组

  7. 7

    根据条件在Python中删除元组列表的元素

  8. 8

    在python列表中串联一个元组的元素

  9. 9

    比较元组元素列表python

  10. 10

    比较元组元素列表python

  11. 11

    在Python 3中按特定的元组元素对元组列表进行排序

  12. 12

    合并python中的元组列表

  13. 13

    从Python中的列表访问元组

  14. 14

    合并python中的元组列表

  15. 15

    交叉合并列表元素以获取Python中的元组列表

  16. 16

    在Python中从自身减去列表的每个元素的有效方法

  17. 17

    如何在熊猫列表中减去元组元素并应用条件?

  18. 18

    Python-列表+元组元素的长度

  19. 19

    Python,从元组列表中选择特定元素

  20. 20

    基于相邻元组值加入python列表元组元素

  21. 21

    什么是使元组列表中的元素在python中唯一的有效方法?

  22. 22

    遍历两个列表以在python中获取元组中的元素

  23. 23

    如何减去列表中的元组?

  24. 24

    从 Python 中的列表创建元组列表

  25. 25

    在python中减去列表和重复项

  26. 26

    用 Python 中的相同列表减去列表中的列表

  27. 27

    在Python中,给定一个元组列表,生成一个列表,其元素为所包含元组的元素之和

  28. 28

    如何在python中的元组列表中有效获取元素

  29. 29

    Python-如何根据索引将列表的几个元素合并到元组中?

热门标签

归档