第二十三天
1.主题:复习python基础,为下一月的数据分析打基础
http://nbviewer.jupyter.org/gist/manujeevanprakash/e97defef743c4ddefcb1
这是个老外写的,基于python2.7,也需要修改成python3.
2.摘要
1.元组充当分割
>>> t
'you are so good.'
>>> tuple(t)
('y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 's', 'o', ' ', 'g', 'o', 'o', 'd', '.')
>>> list(tuple(t))
['y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 's', 'o', ' ', 'g', 'o', 'o', 'd', '.']
>>>
2.元组的可修改与不可修改
>>> x = ('we', [99, 88, 77], 'jack')
>>> x[1] = 'go'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> x[1].append(' go')
>>> x
('we', [99, 88, 77, ' go'], 'jack')
>>> x[0].append('go')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'append'
>>>
3.元组具有惊人的可分割性unpack成为字符串或数字:
>>> m
(33, 44, ‘star’)
>>> x,y,z = m
>>> x
33
>>> y
44
>>> z
star
>>>
4.列表的一些操作
>>> cc
['usa', 'india', 'china, japan', 'germany', 'uk', 'austrilia']
>>> cc.sort(key = len) #按照字符长度排序
>>> cc
['uk', 'usa', 'india', 'germany', 'austrilia', 'china, japan']
>>>
4.用enumerate编号枚举
>>> cc
['uk', 'usa', 'india', 'germany', 'austrilia', 'china, japan']
>>> for x,y in enumerate(cc): #法1
... print(x, y)
...
0 uk
1 usa
2 india
3 germany
4 austrilia
5 china, japan
>>> for i, element in enumerate(cc): #法2 定义法
... print(i, cc)
...
0 uk
1 usa
2 india
3 germany
4 austrilia
5 china, japan
5.sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。比如
>>> m = [23, 12, 44, -8, 2, 67, 35, 12, 17, 9]
>>> n = sorted(m)
>>> n
[-8, 2, 9, 12, 12, 17, 23, 35, 44, 67]
>>> m #sorted之后,m还是原来的m
[23, 12, 44, -8, 2, 67, 35, 12, 17, 9]
>>> m.sort() #sort之后,m为新列表
[-8, 2, 9, 12, 12, 17, 23, 35, 44, 67]
>>>
6.倒序输出用reversed()
>>> list(reversed(range(10)))
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3.心得感悟
技术型实用课,要记住案例,多记几个例子,比记住通式表达式有用得多,这也是化抽象为具象的过程,随着例子的积累变多,对抽象知识也就越来越熟悉了。
这应该是演绎法的运用,今天突然来了精神。
这有点像英国法律是判例法.
明天重点复习正则表达式,为爬虫做准备!
4.时间统计
昨日阅读5小时,累计220小时
|