Python中map,filter,sorted,lambda用法

时间:2022-05-03 18:43:44

实验环境Python3

1.写一个[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]序列

map(f,s),其中f是函数或者条件,s是list类型。f 对s进行处理

list(map(lambda x:x*x,range(10)))

2.米粒问题

a=list(map(lambda x:2**x,range(1,10)))

2. a=[(1,'asdf'),(2,'qwe')]按照字符串的长短进行排序

sorted(a,key=lambda x:len(str(x[1])))

3. pairs={'one':'op','three':'qwa','four':'asdf'}

    print(','.join(c for c in sorted(pairs.keys(),key=lambda x:len(str(x)))))

filter是python中的内置函数,是函数式编程工具。filter函数的形式为filter(f,s),其中f为函数或条件,s为列表或元祖,filter函数将不满足f的s中所有元素过滤掉,返回s中满足f所有元素的一个列表

4 list(filter(lambda x:x>0,range(-10,10)))

[1, 2, 3, 4, 5, 6, 7, 8, 9]

5 a=(1,2,3,4,5)

list(map(lambda x:str(x),a)) 效果等同于list(map(str,a))

6 list(map(lambda x,y,z:x*y*z,[1,2,3],[1,2,3],[1,2,3]))

7 filter保留奇数    list(filter(lambda x:x%2==1,range(10)))

8 zip用法

a=[(1, 4, 1), (2, 5, 3), (3, 6, 4)]

list(zip(*a))