Python学习笔记(四)切片,迭代,列表生成器

切片

1)L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。

2)如果第一个索引是0,还可以省略

类似的,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片

3)L[ 起始数:终止数:间隔]什么都不写的时候默认间隔是1

4)tuple切片仍然是tuple

5)字符串也可以进行切片,仍然为字符串

迭代

1)任何可迭代对象都可以作用于for循环

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

3)判断是否可以迭代

>>> from collections import Iterable

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

True

>>> isinstance([1,2,3], Iterable) # list是否可迭代

True

>>> isinstance(123, Iterable) # 整数是否可迭代

False

4)Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

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

...    print(i, value)

...

0 A

1 B

2 C

同时引用两个变量x,y也是十分常见

列表生成器

1)写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来,for后面还可以加上if判断进行数字筛选,以及可以使用两层循环

2)dict的items()可以同时迭代key和value:

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

>>> for k, v in d.items():

...    print(k, '=', v)

或者

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

3)使用内建的isinstance函数可以判断一个变量是不是字符串

isinstance(x,str)

4)字符串变小写 .lower()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容