目录
map
reduce
filter
sorted
map
Python3 map() 函数 | 菜鸟教程
map()函数接收两个参数,一个是函数,一个是序列,map 将传入的函数依次作用到序列中的每个元素,并把结果作为新的list 返回。map函数可以将一个可迭代对象中的每一个元素做同样的操作并返回新的对象。
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
str_a = map(str, a)
print(list(str_a))
from collections.abc import Iterable
print(isinstance(str_a, Iterable))
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
def multiple(x):
return x * 10
a10 = map(multiple, a)
print(list(a10))
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
m = [10, 20, 30, 40, 50, 60]
def add(x, y):
return x + y
nm = map(add, n, m)
print(list(nm))
reduce
reduce把一个函数作用在一个序列[x1, x2,x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。
from functools import reduce
a = [2, 4, 6, 8, 10]
def sumtest(x, y):
return x + y
sum = reduce(sumtest, a)
print(sum)
def fun1(x, y):
return x * 10 + y
print(reduce(fun1, a))
filter
filter()函数用于过滤序列。和map()类似,filter()也接收一个函数和一个序列。和map()不同的是filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
a = [1, 8, ' ', 9, 'i', '汗', '(lll¬ω¬)', '🐶', '😭']
def fun1(x):
return isinstance(x, str) and len(x) == 1
str_a = filter(fun1, a)
print(list(str_a))
sorted
sorted()函数就可以对list进行排序
参数reverse:reverse默认为False(升序排列),倒序排列时reverse的值为True,字符串排序按照ASCII码
参数key:如按绝对值key = abs ,忽略大小写 key = str.lower
def sorted(*args, **kwargs):
"""
Return a new list containing all items from the iterable in ascending order.
A custom key function can be supplied to customize the sort order, and the
reverse flag can be set to request the result in descending order.
"""
pass
?
|