切片
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()