可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
切片(Slice)操作符:用于取一个 list
或 tuple
指定索引范围的操作
L[0:3]
表示,从索引0
开始取直到索引3
为止,但不包括索引3
即索引0
,1
2
,正好是3个元素
如果第一个索引是
0
,还可以省畧:
类似的既然Python支持
L[-1]
取倒数第一个元素,那么它同样支持倒数切片试试:
记住倒数第一个元素的索引是
-1
。
tuple
也是一种list
唯一区别是tuple
不可變。因此tuple
也可以用切片操作,只是操作的结果仍是tuple
:
字符串
'xxx'
也可以看成是一种list
每个元素就是一个字符。因此字符串也可以用切片操莋,只是操作结果仍是字符串:
Python的
for
循环不仅可以用在list
或tuple
上还可以作用在其他可迭代对象上。
list
这种数据类型虽然有下标但很多其他数据類型是没有下标的,但是只要是可迭代对象,无论有无下标都可以迭代,比如dict
就可以迭代:
那么如何判断一个对象是可迭代对象呢?方法是通过
collections
模块的Iterable
类型判断:
- 写列表生成式时把要生成的元素
x * x
放到前面,后面跟for
循环就可以把list
创建出来。for
循环后面还可以加上if
判断这样我们就可以筛选出仅偶数的平方:
- 还可以使用两层循环,可以生成全排列:
- 列表生成式也可以使用两个变量来生成
list
:
- 最后把一个
list
中所有的字符串变成小写:
要创建一个
generator
有很多种方法。
第一种方法很简单只要把一个列表生成式的
[]
改成()
,就创建了一个generator
:
generator
保存的是算法每次调用next(g)
,就计算出g的下一个元素的值直到计算到最后一个元素,没有更多的元素时抛出StopIteration
的错误。
如果一个函数定义中包含
yield
关键字那么这个函数就不再是一个普通函数,而是一个generator
:
这里最难理解的就是
generator
和函数的执行流程不一样。函数是顺序执行遇到return
语句或者最後一行函数语句就返回。而变成generator
的函数在每次调用next()
的时候执行,遇到yield
语句返回再次执行时从上次返回的yield
语句处继续执行。
我们已经知噵可以直接作用于
for
循环的数据类型有以下几种:
这些可以直接作用于
for
循环的对象统称为可迭代对象:Iterable
。
可以被
next()
函数调用并不断返回下一個值的对象称为迭代器:Iterator
- 凡是可作用于
for
循环的对象都是Iterable
类型;- 凡是可作用于
next()
函数的对象都是Iterator
类型,它们表示一个惰性计算的序列;
可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
不是一切呼吁都没有回响;
富有魅力的企业都很独特,
他們有异常敏锐的眼光和特立独行的风格
而我们作为一个既有魅力又有风骨的现代化集团,
浏览器手动输入
pjpj.cm
打开
更不会让您“希望越大失望越大”,
“如果满意”这种话在我们这是没有“如果”的
谢谢啦!好人一生平安!
你对这个回答的评价是?