python的学习 高级特性(第一天)
2018-06-11 11:14
302 查看
Python中代码遵循越少越好的原则,代码越少开发效率越高
高级特性可以用少的代码实现一些较复杂的功能。
1.切片(slice)
该功能针对list和tuple以及字符串类型,是截取list、tuple或字符串中的一部分的一种简单操作;
对目标数据的索引指定范围的方法实现,使用python提供的操作符‘:’;
例:L[0:3],代表截取L[0],L[1],L[2];即包含第一个索引的元素,不包含最后一个索引的元素。
当索引中含有0时,0可以省略;例:L[0:2]=L[:2],L[-2:0]=L[-2:];(索引-1,代表倒数第一个元素);
当以上面两个例子书写时,可以更简便的理解为,取前两个元素,取后两个元素;
当仅有操作符':'时,代表取所有元素;
当有两个操作符时,第二个后面的数代表,再次取值的间隔;例L[:10:2],前十个数,每两个取一个(5个)。
注意:切片的操作不会改变数据的类型。
2.迭代(iterable)
python中通过for...in循环遍历list或tuple,这种遍历我们就称为迭代类型;
但是python中可用for循环进行迭代的对象却很多,
可以通过collections模块的Iterable类型来判断:
[code]>>> from collections import Iterable >>> isinstance('abc', Iterable) # str是否可迭代(isinstance是判断类型的函数) True >>> isinstance([1,2,3], Iterable) # list是否可迭代 True >>> isinstance(123, Iterable) # 整数是否可迭代 False
dict数据类型也是可以迭代的,默认迭代的是其key,如果要迭value可以使用:for value in d.values(),同时迭代key和value,可以使用for k,v in d.items()。
迭代list实现索引与元素的形式,可以使用python内置的enumerate函数:
[code]>>> for i, value in enumerate(['A', 'B', 'C']): ... print(i, value) ... 0 A 1 B 2 C
注意:任何可迭代的对象都可以使用for循环进行迭代,无序的数据迭代出的数据也是无序的(例如dict数据类型)
阅读更多
相关文章推荐
- python的学习 高级特性(第二天)(较难)
- Python高级特性(切片 迭代 列表生成式 生成器 迭代器)学习笔记
- python学习(10)高级特性
- Python学习----高级特性
- Python学习笔记3---PYTHON函数与高级特性
- Python学习V---高级特性
- Python学习笔记二:高级特性
- python学习笔记(三)高级特性
- Python学习札记(十七) 高级特性3 列表生成式
- Python高级特性——学习笔记
- python切片、迭代、生成器、列表生成式等高级特性学习
- python学习笔记(6)-高级特性(二)-迭代
- Python学习笔记--高级特性
- Python学习三——高级特性
- Python学习系列:高级特性
- Python学习笔记三:高级特性
- python学习(3)——字典,函数及其高级特性
- python学习笔记(5)-高级特性(一)-切片
- python学习笔记1:面向对象的高级特性1__slots__