#1.切片(字符串,元组,列表都一样)
#a.正序切
>>> s= "abcde"
>>> s[1:3]
'bc'
>>> s[-3:-1] #正序排序,end值要大于start值
'cd'
>>> s[-1:-3] #正序排序,end值要小于start值,取不到值
''#b.反向切片
>>> s[::-1]
'edcba'
>>> s[-1:-3:-1] #倒序排序,end值要小于start值
'ed'
>>> s[-3:-1:-1] #倒序排序,end值要大于start值,取不到值
''#2. 推导列表
#语句:[表达式+for语句+0个或多个for或者if语句]
>>> [x for x in range(5)]
[0, 1, 2, 3, 4]
>>> [x for x in range(5) if x<3]
[0, 1, 2]
>>> [x+y for x in range(5) if x<3 for y in range(5) if y>3]
[4, 5, 6]#3. map 根据提供的函数对指定序列做映射
#语法:list(map(函数,序列)),序列可以是一个或者多个
>>> list(map(ord, ['A','B',"C"]))
[65, 66, 67]
>>> list(map(str,[1,2,3]))
['1', '2', '3']
>>> list(map(lambda x,y:x+y, [1,2,3],[4,5,6]))
[5, 7, 9]
>>> sum(list(map(lambda x:len(x), "My name is xxx".split()))) #统计字母个数
11#4. filter 过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
#语法:list(filter(判断函数,可迭代对象))
>>> list(filter(lambda x: x%2==0, list(range(10))))
[0, 2, 4, 6, 8]#5.reduce 对参数序列中的元素进行累计
#语法:reduce(两个参数的函数,可迭代的对象)
#python3中,需要导包,from functools import reduce
>>> from functools import reduce
>>> reduce(lambda x,y: x+y, [1,2,3,4])
10
>>> reduce(lambda x,y:x*y, [1,2,3,4,5])
120#6. lambda匿名函数
#语法:lambda 函数参数:函数体