美文网首页
python学习5

python学习5

作者: Sshaylee | 来源:发表于2018-12-21 17:05 被阅读0次

廖雪峰老师的python教程笔记

1、切片(Slice)

取列表或元组指定索引范围的元素的简便写法(也可用循环)

L[0:3] 表示索引从0开始,till索引3为止,但不包括3

当是0时,也可以省略不写。

同时支持倒数切片 L[-2:],不写默认到最后(取出后两个数)

L[-2:-1]不等于L[-2:]  第一个不包括-1最后一个元素

L[:10:2] 前十个数 每隔两个取一次

L[::5] 原列表L每隔5个取一个

对于不可变的元组和str也可以用切片

(0, 1, 2, 3, 4, 5)[:3]  取前三个  输出类型仍未元组

'ABCDEFG'[::2]  隔两个取

2、迭代(for..in..)

其实就是遍历list、tuple,python中也适用于无下标的字典,但因为无序,所以每次运行顺序不同;字符串也适用,只要对象是可迭代对象即可。

>>> from collections import Iterable

>>> isinstance('abc', Iterable)   # str是否可迭代

True

默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

也可同时迭代索引和元素本身

for i, value in enumerate(['A','B','C']):

  print(i, value)

3、生成列表

(1)   list(range(1,11))

(2)   L = []

        for x in range(1,11):

               L.append(x * x)

(3)  [x * x for x in range(1,11)]

(4)两个循环形成全排列

 >>> [m + n for m in 'ABC' for n in 'XYZ']['AX','AY','AZ','BX','BY','BZ','CX','CY','CZ']

(5)for后还可加if筛选

>>> [x * x for x in range(1,11) if x %2 == 0][4,16,36,64,100]

前面x*x就是对遍历后的元素进行的操作,然后把所有元素组成列表

>>> d = {'x':'A','y':'B','z':'C'}

>>> [k +'='+ v for k, v in d.items()]

        ['y=B','x=A','z=C']

4、生成器generator

列表元素可以按照某种算法推算出来,不必事先全部储存在其中,浪费内存,要什么取什么。generator保存的是算法。

(1)只要把一个列表生成式的[]改成()

g = (x * x for x in range(10))

for n in g:

... print(n)

(2)如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。

return 也结束生成器函数

5、迭代器

可以被next()函数调用并不断返回下一个值,直到没有数据时抛出StopIteration错误的对象称为迭代器:Iterator。

生成器都是Iterator对象,但list、dict、str虽然是Iterable可迭代对象,却不是Iterator迭代器。

Python的Iterator对象表示的是一个数据流,可以把这个数据流看做是一个有序序列,但我们却不能提前知道序列的长度,只能不断通过 next(生成器函数) 函数实现按需计算下一个数据。

相关文章

  • python学习笔记01_序

    python笔记 1.为什么学习python? 2.python起源 3.python擅长的领域 4.语言排名 5.口号

  • Python学习5

    第10章 文件和异常 处理异常和文件,你在本章学习的技能可提高程序的适用性、可用性和稳定性。 10.1 从文件中读...

  • python学习(5)

    python中的单行注释: (#),(#)右边的内容不会被执行 如: print 'Hello World'#这是...

  • python学习5

    廖雪峰老师的python教程笔记 1、切片(Slice) 取列表或元组指定索引范围的元素的简便写法(也可用循环) ...

  • Python学习(5)

    转换数据类型的函数 int() float() str() tuple() list() eval(str)用来计...

  • 笔记6:词频统计

    import string path = r'F:\5-学习\python学习\20160923\Walden.t...

  • 【python】学习总结(二)

    内容:python学习 方式:《Python编程:从入门到实践》 by Eric Matthes 时间和进度:5h...

  • Python学习记录day5

    title: Python学习记录day5tags: pythonauthor: Chinge Yangdate:...

  • 读书笔记 | Python学习之旅 Day5

    Python学习之旅 读书笔记系列 Day 5 《Python编程从入门到实践》 第7章 用户输入和While循环...

  • 读书笔记 | Python学习之旅 Day3

    Python学习之旅 读书笔记系列 Day 3 《Python编程从入门到实践》 第5章 If语句 知识点 if语...

网友评论

      本文标题:python学习5

      本文链接:https://www.haomeiwen.com/subject/nlapkqtx.html