python学习笔记学习笔记-高级特性高级特性 20200309
文章目录文章目录高级特性切片exercise迭代定义迭代dict对象:迭代字符串对象判断是否为可迭代对象对list类实现下标循环exercise
小结列表生成式生成list列出当前目录下所有文件和目录名使用两个变量生成list列表生成式中if…else练习小结生成器定义创建
generator斐波拉契数列(Fibonacci)杨辉三角形迭代器小结
高级特性高级特性
切片切片
1 . 取一个list或tuple的部分元素,如:
取正数元素
L=['M','S','T','B','J'] [L[0],L[1],L[2]] #a.笨办法
r=[] n=3
for i in range(n):
r.append(L[i]) #b.循环方法
L[0:3] #c.切片法
取倒数元素
L[-1] #取倒数第一个元素
L[-2:] #取倒数第二个和倒数第一个元素
list例子
数字
L=list(range(100)) #创建一个0:99的数列
L[:10] L[-10:] L[10:20] L[:10:2] #前十个数,每两个取一个
L[::5] #所有数,每五个取一个
L[:] #原样复制一个list
字符串’xxx’
‘ABCDEFG’[:3]
tuple例子
(0,1,2,3,4,5)[:3] #取前三个数
exercise
利用切片操作,实现实现一个trim()函数,去除字符串首尾的空格:
def trim(s)
if s[0] != ' ' and s[-1] !=' '
return s
elif s[0] == ' '
return s[1:] elif s[-1] == ' '
return s[:-1]
迭代迭代
定义定义
如果给定一个list或tuple,我们可以通过for循环循环来遍历遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。
Python中,迭代是通过中,迭代是通过for … in来完成的来完成的
如:
迭代迭代dict对象:对象:
迭代key:默认dict迭代的是key
d={'a',:1'b':2,'c':3}
for key in d:
print(key)
迭代value:
for value in d.values():
print(value)
同时迭代key和value:用for k,v in d.items()
for k,v in d.items():
print(value)
迭代字符串对象迭代字符串对象
for ch in 'ABC'
print(ch)