今天开始决定记录学习过程,由于放假,家里有小孩,于是便去到市图书馆学习,并借阅了一本杨云与杜飞老师的《深度学习实战》。之前的学习只是掌握了一点皮毛,对于如何系统全面的构建神经网络其实完全不知道如何下手。因此这次重新从头开始学习,希望能在假期内掌握构建方法并开始尝试构建自己的项目。
今天由于时间并不是特别充裕,因此并没有带电脑,所以也没有编写代码,只是重温了一遍python的基础语法。但是由于之前学习python时只是根据需要去学,导致我有许多基础知识都不了解,在这里列出,希望以后能记住并理解。
解析操作
以前只是知道python简单快捷,其实并不知道到底哪里简单,哪里方便。现在才知道python对于列表等数据类型可以进行十分方便的解析操作。
>>> a = [1,2,3,4]
>>> [x * 2 for x in a]
[2, 4, 6, 8]
for之前表示操作,for表示x为列表a内的各个数据。在最后也可以加入if限制x的选取。例如:
>>> [x * 2 for x in a if x % 2 == 0]
[4, 8]
其他类型的解析操作大致相同。
函数内调用本函数——递归函数
在我看《机器学习实战》时,看到了书中举的python排序例子,才发现python的简洁。
8行实现数字排序:
>>> def sort(a):
if len(a) <= 1:
return a
m = a[int(len(a)/2)]
left = [x for x in a if x < m]
middle = [x for x in a if x == m]
right = [x for x in a if x > m]
return sort(left)+middle+sort(right)
>>> a = [2,4,3,1,8,10,5,49]
>>> sort(a)
[1, 2, 3, 4, 5, 8, 10, 49]
由于书并不在旁边,所以不能完全记下,同时由于书中使用的是python2,而我使用的是python3,因此我根据自己的理解修改了部分代码。
还有些许内容记得不是特别深刻,下次记录时一并写上。