Python笔记3——切片,迭代,列表生成式,生成器
2017-07-17 00:00
531 查看
1.切片:list,tuple,字符串‘xxx’,Unicode字符串u'xxx'都可进行切片操作,并且也支持倒数切片,支持三个参数的‘每隔n个数’切片。
2.迭代:用for循环来遍历给定的list或tuple,这种遍历称为迭代(Iteration),Python中的迭代用for...in来完成。
3.list,tuple,dict,str都可进行迭代。默认情况下,dict迭代的是key。如果要迭代value,可以用 for value in d.itervalues() ,如果要同时迭代key和value,可以用 for k,v in d.iteritems() 。
4.collections模块的Iterable类型,可以判断一个对象是否为迭代对象.(from collections import Iterable/isinstance(123,Iterable) #整数是否可迭代? 返回False)
5.enumerate()函数可以把一个list变成索引-元素对,使得for循环中可以同时迭代索引和元素本身(for i,value in enumrate(['A','B','C']): ......)
6.列表生成式:
即Python内置的简单却强大的用于创建list的生成式。
[x * x for x in range(1, 11)]
[x * x for x in range(1, 11) if x % 2 == 0] if判断,取偶数的平方
[m + n for m in 'ABC' for n in 'XYZ'] 两层循环,生成全排列
7.lower()方法可以把字符串变为小写。把列表L中的字符串都转换为小写:
[s.lower() for s in L]
8.Python内建函数isinstance可以判断一个变量是不是字符串 isinstance(x, str)
9.生成器:受到内存限制,列表的容量有限,列表内的数据级别要是很大,占用的存储空间也很大。如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。
10.生成器创建方法:
一、只要把一个列表生成式的 [] 改成 () ,就创建了一个generator.
二、如果一个函数定义中包含 yield 关键字(将函数中的print改成yield),那么这个函数就不再是一个普通函数,而是一个generator.
11.注意:generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用 next() 的时候执行,遇到 yield 语句返回,再次执行时从上次返回的 yield 语句处继续执行。
2.迭代:用for循环来遍历给定的list或tuple,这种遍历称为迭代(Iteration),Python中的迭代用for...in来完成。
3.list,tuple,dict,str都可进行迭代。默认情况下,dict迭代的是key。如果要迭代value,可以用 for value in d.itervalues() ,如果要同时迭代key和value,可以用 for k,v in d.iteritems() 。
4.collections模块的Iterable类型,可以判断一个对象是否为迭代对象.(from collections import Iterable/isinstance(123,Iterable) #整数是否可迭代? 返回False)
5.enumerate()函数可以把一个list变成索引-元素对,使得for循环中可以同时迭代索引和元素本身(for i,value in enumrate(['A','B','C']): ......)
6.列表生成式:
即Python内置的简单却强大的用于创建list的生成式。
[x * x for x in range(1, 11)]
[x * x for x in range(1, 11) if x % 2 == 0] if判断,取偶数的平方
[m + n for m in 'ABC' for n in 'XYZ'] 两层循环,生成全排列
7.lower()方法可以把字符串变为小写。把列表L中的字符串都转换为小写:
[s.lower() for s in L]
8.Python内建函数isinstance可以判断一个变量是不是字符串 isinstance(x, str)
9.生成器:受到内存限制,列表的容量有限,列表内的数据级别要是很大,占用的存储空间也很大。如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。
10.生成器创建方法:
一、只要把一个列表生成式的 [] 改成 () ,就创建了一个generator.
二、如果一个函数定义中包含 yield 关键字(将函数中的print改成yield),那么这个函数就不再是一个普通函数,而是一个generator.
11.注意:generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用 next() 的时候执行,遇到 yield 语句返回,再次执行时从上次返回的 yield 语句处继续执行。
相关文章推荐
- Python笔记3——切片,迭代,列表生成式,生成器
- Python高级特性(切片 迭代 列表生成式 生成器 迭代器)学习笔记
- python2.7学习笔记(6) ——高级特性:切片、迭代、列表生成式、生成器
- 初学Python的学习笔记3----递归函数、切片、迭代和列表生成式
- 【Python】[高级特性]切片,迭代,列表生成式,生成器,迭代器
- python的高级特性:切片,迭代,列表生成式,生成器,迭代器
- python切片、迭代、生成器、列表生成式等高级特性学习
- 初学python:切片、迭代、列表生成式、生成器
- Python学习 Day 4 函数 切片 迭代 列表生成式 生成器
- Python之高级特性(切片,迭代,列表生成式,生成器)
- Python(八)切片、迭代、列表生成式、生成器
- python——切片 迭代 列表生成式 生成器
- Python高级特性(切片,迭代,列表生成式,生成器,迭代器)
- Python高级特性(切片,迭代,列表生成式、生成器、迭代器)
- Python的高级特性之切片、迭代、列表生成式、生成器
- Python入门 第三天(set、函数、切片、迭代、列表生成式)
- Python 函数 切片 迭代 列表生成器
- python学习笔记 迭代和列表生成式
- python(六)切片,生成式,生成器,迭代
- 三、python高级特性(切片、迭代、列表生成器、生成器)