1. python 常见的类及操作:
a. 列表:
创建: list =['hello','world',1]
新增:list.append('c') ,
list.insert(1, 2009) , 在index=1处插入2009
删除:list.remove('c') , 第一个匹配项
del list[1]
查询: list[3] , list[0:2] ,返回列表内容
list.index['hello'] , 返回‘c’所在的index , 为0
合并:list = list1+list2
b. 元组: 与列表的差异仅仅在于元组不能修改
创建: tup = ('c','b',1)
查询: tup[1]
c. 字典:
创建:d = {'a': 1, 'b': 2, 'c': '3'}
新增: d['e'] = 5
查询: d['a']
删除:del d['e']
del d 可删除整个字典
2. numpy中ndarray
a. numpy.array[ ]:
创建:a = np.array([2,3,4]) b = np.array([[1.0,2.0],[3.0,4.0]])
新增:>>> a = np.array([[1,2],[3,4],[5,6]])
>>> b = np.array([[10,20],[30,40],[50,60]])
>>> np.vstack((a,b)) 按列合并
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[10, 20],
[30, 40],
[50, 60]])
>>> np.hstack((a,b)) 按行合并
array([[ 1, 2, 10, 20],
[ 3, 4, 30, 40],
[ 5, 6, 50, 60]])
查询: a[2][2] 第2行第2列元素
a = a[1] 第1行元素
注意:numpy.array
只是一个创建ndarray
的方便函数;它本身不是类。
3. list、ndarray、tensor之间转换
a形式: list ,b形式:ndarray ,c形式:tensor
list 到np.array : b = np.array(a)
ndarray 到list : a = list(b) a变为[array[1,2],array[3,4]] ,外部list,内部不变
a = b.tolist() a变为[[1,2],[3,4]] ,外部list,内部list
tensor到ndarray: c = torch.ones(2,2)
b = a.numpy()
ndarray到tensor:b = np.ones(2)
c = torch.from_numpy(a)
或 c = torch.FloatTensor(a) a可以不是numpy