Python"数组类型"初学者的数据

时间:2015-03-19 00:05:28

标签: arrays python-2.7 numpy

我在使用脚本语言(BASH + 2基于代码的程序,SAC和FLAC)之后,刚刚开始进行Python编码。所以我对基本代码结构,循环等有了合理的理解。到目前为止,我的工作主要包括在各种表格之间重新组织和收集数据,根据另一个表格的数据从一个表格中查找数据,等等。

然而,我对数据和2D数据的所有可能处理方式感到有点不知所措 - 列表,numpy数组,numpy记录数组等等,每个都有不同的方式来加载它们一个文件,访问它们并修改它们。

您是否知道可能的数据类型以及如何处理它们,访问它们以及在它们之间切换的摘要(最好是假人)?

如果它具有google-able,那么我还没有充分完成它并且我会道歉。

干杯

Vhailor

1 个答案:

答案 0 :(得分:2)

我将在这里提到三种常见的数组类型:listtuple,它们内置并记录here(以及其他一些)和{{3 }}

列表

列表是内置的可变对象,可以存储列表,元组和numpy数组。列表文字用方括号([1,2,3,4])编写,它们可以用方括号编入索引(从零开始):

a = [1,2,3,4]
print a[1] # 2

元组

元组就像列表一样,但它们是用括号((1,2,3,4))编写的,并且是不可变的(它们不能被修改),但是它们在某些操作上比列表更快。

a = (1,2,3,4)
a[1] += 1 # raises a TypeError

您可以将元组作为参数传递给内置的list()函数,从而将元组转换为列表,然后您可以使用tuple()转换其他方式。

NumPy数组对象

NumPy数组对象不是内置的;他们是numpy.array的一部分。它们是用numpy.array()创建的,它接受任何可迭代对象(列表和元组是可迭代的)并返回具有相同数据的NumPy数组对象:

import numpy as np
a = np.array([1,2,3,4])

NumPy数组是用C实现的,可能更快,NumPy实现了一系列有用的函数来操作它们(在我上面链接的文档中有记录)。

关于保存和加载它们,我最近NumPy一个answered关于保存NumPy数组,我在那里提到的所有方法都适用于所有这三种数组类型。