python - Python 中嵌套列表的算术运算

标签 python numpy python-2.7 nested-lists

我试图减去嵌套列表(来自雅虎财经的历史股价数据列表)中的值,但我遇到了问题。我正在尝试简单的减法(即高 - 低),但我无法实现它。我可能遗漏了一些关于列表本质的基本知识,但我很困惑。

我正在使用的嵌套列表示例:

[['2012-07-31', '16.00', '16.06', '15.81', '15.84', '13753800', '15.8'],
 ['2012-07-30', '16.15', '16.15', '15.90', '15.98', '10187600', '15.9'],
 ['2012-07-27', '15.88', '16.17', '15.84', '16.11', '14220800', '16.1'],
 ['2012-07-26', '15.69', '15.88', '15.62', '15.80', '11033300', '15.8'],
 ['2012-07-25', '15.52', '15.64', '15.40', '15.50', '15092000', '15.5'],
 ['2012-07-24', '15.74', '15.76', '15.23', '15.43', '19733400', '15.4'],
 ['2012-07-23', '15.70', '15.81', '15.59', '15.76', '14825800', '15.7'],
 ['2012-07-20', '15.75', '15.94', '15.68', '15.92', '16919700', '15.9'],
 ['2012-07-19', '15.71', '15.86', '15.64', '15.73', '15985300', '15.7'],
 ...]

我想从第三个“列”中减去第 4 个“列”并用结果填充另一个列表(顺序很重要。)实现这个的最佳方法是什么?

最佳答案

您可以使用列表理解:

from decimal import Decimal
result = [(row[0], Decimal(row[2]) - Decimal(row[3])) for row in data]

关于python - Python 中嵌套列表的算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889537/

相关文章:

python - 从单个 python 列表中删除特殊字符

python - 为不同对象上的多个位置实例绘制 X Y 位置

python - 如何在线程中使用 python 中的事件对象?

python - 删除以开头的列

Python3 Pillow 获取一条线上的所有像素

python-2.7 - 在Centos 7上使用python 2.7将gradle添加到PATH变量

python-2.7 - 在 Windows 上安装 NodeboxOpenGL

python - 如何防止 Pydantic 在 ValidationError 上抛出异常

python - 标记字典数据

python - 可读性和效率,哪个更好? Numpy、元组等?