Python学习笔记—— 高级特性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习笔记—— 高级特性相关的知识,希望对你有一定的参考价值。
一、切片
1、定义:
经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符。
2、语法:
A[1:3] 取出1到3,都是正数的情况下,缺填的为0(第一个),end(最后一个) B[-3:] 取出倒数第三个到倒数第一个,都是负数的情况下,缺填的为-1(最后一个) C[1:10:2] 从1到10,每2个取一个
跟matlab差不多的语法,就是对一个向量可以进行矩阵操作。可以对List.tuple,string,dict,set等使用
二、切片
1、定义:
如果给定一个list或tuple,我们可以通过for
循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。
2、Python迭代特殊点:
Python的 for
循环 抽象程度要高于Java的 for
循环 ,因为Python的 for
循环 不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代:
>>> d = {‘a‘: 1, ‘b‘: 2, ‘c‘: 3} >>> for key in d: ... print(key) ... a c b
由于dict不是顺序排列的,所以迭代出来的结果,可能顺序不同。
3、dict迭代注意点:
(1)可以按照key(默认)迭代,如上
(2)也可以按照value迭代
for value in d.values()
(3)也可以两者同时迭代(python特殊点)
for k, v in d.items()
4、如何判断是否可迭代:使用collections模块的iterable类型进行判断
>>> from collections import Iterable >>> isinstance(‘abc‘, Iterable) # str是否可迭代 True >>> isinstance([1,2,3], Iterable) # list是否可迭代 True >>> isinstance(123, Iterable) # 整数是否可迭代 False
5、如何实现C语言的下标实现:Python内置的enumerate
函数可以把一个list变成索引-元素对
>>> for i, value in enumerate([‘A‘, ‘B‘, ‘C‘]): ... print(i, value) ... 0 A 1 B 2 C
以上是关于Python学习笔记—— 高级特性的主要内容,如果未能解决你的问题,请参考以下文章