这几天都没有更新,不表明我没有学习吖!
这两天都在忙着半夜,终于有了本身的小窝,一直住家里,忽然搬出来心情还满奇特的。
虽然还在一个城市里,可是感受有了更多的本身的时间。
好比如今是晚上十点,在家的话可能还有不少吵吵嚷嚷的声音(家里人口比较多),如今就本身安静的敲敲字学习什么的。
恩,仍是要好好学习,记念下搬出来后的第一次学习!平安夜快乐!
app
先好好整理下这几天学习的成果,这几天在手机上持续看的教程,其实看的也很少啦,那就当温故而知新啦~
上一回合看完了函数,这几天认真看了下Python的高级特性函数
取list或者tuple里面的部分值是很常见的操做。
可是有土办法也有聪明的办法。
土办法就是我挨个去写index的值呗。学习
print(list[0],list[1],list[2])
聪明一点,让咱们来用循环。测试
r = [] n = 3 for i in range(n): r.append(L[i])
循环其实也很麻烦,因此Python提供了Slice切片操做符。spa
L[0:3] #这样就完成了前三项的选取
index
索引有不少优秀的用法3d
0
的时候,就能够简略不写L[:3]
L[-2:]
L[:]
若是给定一个list或tuple,咱们能够经过for循环来遍历这个list或tuple,这种遍历咱们称为迭代(Iteration)。
其实刚开始写Python的时候很是不习惯,由于以前经常使用的C++,PHP,JS都是用下标来表示数据的位置,而后完成迭代。
因此更高级的抽象化是须要逐步适应的。code
只要是可迭代对象,不管有无下标,均可以迭代,好比dict就能够迭代。
>>> d = {'a': 1, 'b': 2, 'c': 3} >>> for key in d: ... print(key) ... a c b
只要是可迭代的朋友,for就能生效,emmm,可是首先,咱们要确认这个朋友,它真的能够迭代吗?对象
>>> from collections import Iterable >>> isinstance('abc', Iterable) # str是否可迭代 True >>> isinstance([1,2,3], Iterable) # list是否可迭代 True >>> isinstance(123, Iterable) # 整数是否可迭代,这个朋友没法迭代 False
而后对于下标循环,也是有一套解决方案的。blog
Python内置的enumerate函数能够把一个list变成索引-元素对,这样就能够在for循环中同时迭代索引和元素自己。
>>> for i, value in enumerate(['A', 'B', 'C']): ... print(i, value) ... 0 A 1 B 2 C
for
循环里,同时引用两个变量,在Python里是很常见的教程
>>> for x, y in [(1, 1), (2, 4), (3, 9)]: ... print(x, y) ... 1 1 2 4 3 9
最后,作个做业
困到真的要起飞啦,明天再继续咯~
恩,Python真有意思~
但愿2019年能够顺利过上写Python为主的生活。
PS:最近已经开始刷leetcode啦,受小伙伴感染,后续也会开始写习题本啦~