我在使用脚本语言(BASH + 2基于代码的程序,SAC和FLAC)之后,刚刚开始进行Python编码。所以我对基本代码结构,循环等有了合理的理解。到目前为止,我的工作主要包括在各种表格之间重新组织和收集数据,根据另一个表格的数据从一个表格中查找数据,等等。
然而,我对数据和2D数据的所有可能处理方式感到有点不知所措 - 列表,numpy数组,numpy记录数组等等,每个都有不同的方式来加载它们一个文件,访问它们并修改它们。
您是否知道可能的数据类型以及如何处理它们,访问它们以及在它们之间切换的摘要(最好是假人)?
如果它具有google-able,那么我还没有充分完成它并且我会道歉。
干杯
Vhailor
答案 0 :(得分:2)
我将在这里提到三种常见的数组类型:list
和tuple
,它们内置并记录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.array
的一部分。它们是用numpy.array()
创建的,它接受任何可迭代对象(列表和元组是可迭代的)并返回具有相同数据的NumPy数组对象:
import numpy as np
a = np.array([1,2,3,4])
NumPy数组是用C实现的,可能更快,NumPy实现了一系列有用的函数来操作它们(在我上面链接的文档中有记录)。
关于保存和加载它们,我最近NumPy一个answered关于保存NumPy数组,我在那里提到的所有方法都适用于所有这三种数组类型。