Python 第四天
高级特性
切片操作符
我们可以使用切片操作符获取 tuple 或者 list 中指定范围内的元素
list1 = [1,2,3,4,5,8,7,6,10]
list2 = [1:3] #[2.3]
list3 = [:] #[1,2,3,4,5,8,7,6,10]
list4 = [-2:-1] #[6,10]
list5 = [0:9:2] #[1,3,5,7,10]
迭代
1.for in 语句用于迭代
2.collections 模块的 Iterable 类型可判断对象是否可枚举
from collections import Iterable
print(isinstance('abc0',Iterable)) #true
3.enumerate 函数可以实现将 list 变为索引——元素对
for index,value in enumerate(["A","B","c"]):
print(i,':',value,'\n')
列表生成式
列表生成式:
print([x**2 for x in range(1,11)])
#相当于
for i in range(1,11):
print(x**2)
#双层循环
newList2 = [m + n for m in 'ABC' for n in 'XYZ']
print(newList2)
#带判断语句的列表生成式
L = ['Hello', 'World', 18, 11,'Apple', None]
L2 = [s.lower() for s in L if isinsta nce(s,str)]
print(L2)
generator 生成器
1.generator 生成器有两种生成方法 :
#第一种:
newG = (x**2 for i in range(0,10,2))
for i in newG:
print(i)
#第二种
def generatorFunc(max):
n,a,b = 0,0,1
while(n<max):
yield b
a,b = b,a+b
n = n+1
return 'done'
newG2 = generatorFunc(10)
for i in newG2:
print(i)
###杨辉三角的实现
def trl(max):
n = 0
c = [1]
while(n < max):
yield c
c = [1] + [b[i] + b[i+1] for i in rage(len(b) - 1)] + [1]
All = int(input('请输入行数:'))
newG3 = trl(All)
for i in newG3:
print(i)

浙公网安备 33010602011771号