首页 > 解决方案 > python中的元组和numpy数组

问题描述

我有一个字典列表,每个字典都由字符串和浮点数组组成,如下所示:

Product1 = {
 'Name': 'TLSK',
 'Name2': 'B1940',
 'Tagid': '23456222',
 'Cord': np.array(['09:42:23', '9', '-55:52:32',  '9']),
 'Cord2': np.array([432.34, 222.115]),
 'Ref': 'Siegman corp. 234',
 'Exp': 22.0,
 'CX': np.array([0.00430, 0.00069, 0.00094])
}

我有时需要访问 Dictionary 的某些元素以进行进一步计算。我要做的是首先将它们合并如下:

Products = (Product1, Product2, Product3, ....)

然后我使用 for 循环来存储每个 Dictionary 的某个元素,如下所示

Expall=[]
for i in Products:
    exp = i['Exp']
    Expall.append(exp)

对我来说,这似乎是一种低效/糟糕的编码,我想知道是否有更好的方法来做到这一点。我来自 IDL 语言,例如,在 IDL 中,您可以在没有for loop这样的情况下访问该信息。Expall = Products[*]['Exp']

大多数时候,我什至必须先存储数据,而我曾经pickle in Python这样做过。由于我对 python 有点陌生,而且我听说过一些关于 pandas 等的好消息,所以我想看看是否有更有效/更快的方法来处理所有这些东西。

标签: pythonpython-3.xnumpytuplespickle

解决方案


以下可以工作(列表理解):

如果您已分离产品i,

[product['Exp'] for product in [Product1, Product2]]

如果您有产品

[product['Exp'] for product in Products]

推荐阅读