2024-03-29 14:45:25 发布
网友
我需要一个n元素的数组,其中每个元素有2个属性。在
n
A.element[0].name="qwe" A.element[0].age=23 A.element[1].name="www" A.element[1].age=24 ... A.element[n].name="e" A.element[n].age=25
有没有其他形式不涉及设计类?在
你可以使用一个字典数组。在
像这样:
A = [ {'name': 'qwe', 'age': 23}, {'name': 'www', 'age': 24} ]
您可以通过执行以下操作来简化插入:
或者只需将字典组成数组,这样就不必在每一行中指定“name”和“age”。编写一个代表一个人的类(或其他任何类型的类)可能更容易些。在
有^{}。在
>>> from collections import namedtuple >>> Element = namedtuple('Element', 'name age') >>> A.element[0] = Element('qwe', 23) >>> print A.element[0].name qwe >>> print A.element[0].age 23
但是这些是元组,而不是列表,因此它们不能更改。而且,这些基本上仍然是类,但是您只是没有用class关键字来定义它们。请参见this以获得深入的解释。在
class
如果使用numpy,也可以使用structure array:
In [66]: struct = np.dtype([("name", np.object), ("age", np.int)]) a = np.array([("abc", 12), ("def", 20), ("xyz", 50)], dtype=struct) a[0] Out[66]: ('abc', 12) In [67]: a[0]["name"] Out[67]: 'abc' In [68]: a["name"] Out[68]: array([abc, def, xyz], dtype=object) In [69]: a["age"] Out[69]: array([12, 20, 50]) In [72]: a["age"][2] Out[72]: 50
你可以使用一个字典数组。在
像这样:
您可以通过执行以下操作来简化插入:
^{pr2}$或者只需将字典组成数组,这样就不必在每一行中指定“name”和“age”。编写一个代表一个人的类(或其他任何类型的类)可能更容易些。在
有^{} 。在
但是这些是元组,而不是列表,因此它们不能更改。而且,这些基本上仍然是类,但是您只是没有用
class
关键字来定义它们。请参见this以获得深入的解释。在如果使用numpy,也可以使用structure array:
相关问题 更多 >
编程相关推荐