### zip()
zip在英文中有拉链的意思,我们由此可以形象的理解它的作用:将可迭代的对象
作为参数,将对象中对应的元素打包成一个个元组
,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
语法:
zip([iterable, ...])
参数
- iterabl -- 一个或多个迭代器;
返回值
返回元组列表。
示例:
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c) # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped) # 与 zip 相反,可理解为解压,为zip的逆过程,可用于矩阵的转置
[(1, 2, 3), (4, 5, 6)]
### python字典-dict.get()的用法
dict_name.get(key, default = None)
# key: 要设置默认值的Key
# default: 要返回key的值,可以是任何值,如整形、字符串、列表、字典等
# return: 如果字典中key本来有值,那么返回的是字典中Key所对应的值,如果没有,那么返回“default”中的值。
用法
dict = {'1': 1, '2': 2}
print ("Value : %s" % dict.get('1'))
print ("Value : %s" % dict.get('2'))
print ("Value : %s" % dict.get('3', 0))
#输出
Value : 1
Value : 2
value : 0
### squeeze(),unsqueeze()
-
squeeze():
squeeze(arg)表示第arg维的维度值为1,则去掉该维度。否则tensor不变。(即若tensor.shape()[arg] = 1,则去掉该维度)
-
unsqueeze():
unsqueeze(arg)与squeeze(arg)作用相反,表示在第arg维增加一个维度值为1的维度。例如,unsequeeze(-1)表示在最后一个维度增加一个维,unsequeeze(0)表示在第一个维度外增加一个维。
### view()
view()函数作用是将一个多行的Tensor,拼接成一行。
输入:
import torch
a=torch.Tensor(2,3)
a
输出:
3.8686e+25 9.1836e-39 1.2771e-40
9.0079e+15 1.6751e-37 2.9775e-41
[torch.FloatTensor of size 2x3]
输入:
a.view(1,-1)
输出:
3.8686e+25 9.1836e-39 1.2771e-40 9.0079e+15 1.6751e-37 2.9775e-41
[torch.FloatTensor of size 1x6]
cat(), reshape()
### collate_fn函数
参考:pytorch中collate_fn函数的使用&如何向collate_fn函数传参_dong_liuqi的博客-优快云博客
### 切片,for函数
>>>for i in range(1,100)[2::3][-5:]:
print(i)
>>>87
90
93
96
99
就是利用range()函数生成1-99的整数,然后从start_index=2(即3)开始以step=3取值,直到终点,再在新序列中取最后五个数。