Learning Diary for Week Eight
一、 路况预测竞赛学习情况
为了进行比赛,这周学习了python有关切片的内容以及pytorch的基本知识。
1.python切片
比如,一个list如下:
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
取前3个元素,应该怎么做?
方法一:
print([L[0], L[1], L[2]])
#运行结果:['Michael', 'Sarah', 'Tracy']
取前N个元素呢?
r = []
n = 3
for i in range(n):
r.append(L[i])
print(r)
#运行结果:['Michael', 'Sarah', 'Tracy']
以上这种方法比较繁琐,对于指定索引范围的操作没有办法,因此python提供了切片(Slice)操作符,能大大简化这种操作。
方法二:
取前3个元素,用一行代码就可以完成切片
print(L[0:3])
#运行结果:['Michael', 'Sarah', 'Tracy']
其中,L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3,如果第一个索引为0,还可以省略。
也可以从索引1开始,取出2个元素:
print(L[1:3])
#运行结果['Sarah', 'Tracy']
且python还支持倒数切片,倒数的第一个元素是-1:
print(L[-2:])
#运行结果:['Bob', 'Jack']
print(L[-2:-1])
#运行结果:['Bob']
前10个数,每两个取一个
print(L[:10:2])
#运行结果:[0, 2, 4, 6, 8]
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple;字符串也可以看成是一种list&