-
切片:(取指定索引范围的操作)
list=[‘a’,‘b’,‘c’,1,2,3,4]
list[0:]----从0开始索引取出后面的所有元素–>a,b,c,1,2,3,4
list[2:5]—从2开始索引取出三个元素–>c,1,2
list[-1]------取出倒数第一个元素—>4
list[-3:]-----从-3开始索引一直取到最后—>2,3,4
list[1:-1]----从1开始索引取到倒数第二个元素—>b,c,1,2,3
list[1:6:2]—从1开始索引直至索引到6,每隔2取一个—>b,1,3
‘abcd123’[1:6:2]---->b13 -
迭代:(可以通过for循环来遍历的对象(如list或tuple或dick))
for n in ['a','b','c',1,2,3]:
----------迭代List
for n in 'abc123':
---------------迭代字符串
for n in ('a','b','c',1,2,3):
---------迭代tuple
for k in {'name':'jessica','age':23,'where':'harbin'}:
—迭代dick的key(默认)
for v in {'name':'jessica','age':23,'where':'harbin'}.values():
–迭代dick的value
for k,v in {'name':'jessica','age':23}.items():
–迭代dick的key和value
判断一个对象是否迭代:
from collections import Iterable
导入包
isinstance([1,2,3],Iterable);
判断
把一个list,以索引-元素 对的形式展示出来:enumerate()
for i,value in enumerate([1,2,3,4]):
判断一个对象是否为迭代器(可以被next()函数调用不断返回下一个值迭的对象):
form collections import Iterator
导入包
isinstance([],Iterator);
判断 -
列表生成式:
[x*x for x in range(1,11)]
-----生成1-10所有数的平方
[x*x for x in range(1,11) if x%2 !=0]
—生成1-10中奇数的平方
[m+n for m in 'abc' for n in 'xyz']
----两层循环可迭代对象
-
生成器:(一边循环,一边计算的机制)
创建一个generator:
方法1:()即:[]变成()L1=(n for n in range(1,10))
调用generator中元素的函数:
1、next()函数挨个调取generator中的元素
2、for 循环调用:for n in L1
方法2:函数定义中包含yield关键字
廖雪峰Python学习笔记3——切片,迭代,列表生成式,迭代器,生成器
最新推荐文章于 2024-11-08 13:43:44 发布