python的基础函数

1,map:

参数:两个参数,前一个是函数, 后一个是一个Iterable

返回值:Iterator

作用:将后一个参数中的每一个数值传入第一个参数的函数,结果组成一个Iterator

   用于列表:

 

a = map(lambda x : x * x * x, [1, 2, 3, 4])
print(list(a))
# [1, 8, 27, 64]
#[1, 2, 3, 4]中的元素分别立方计算,组成一个新的iterator

   用于字符串:

a = map(int, '234')
print(list(a))
# [2, 3, 4]
#把'234'中的每一个字符拿出来,并分别转化成int

 

2,reduce:

参数:两个参数,前一个是函数,函数必须有两个参数,后一个是一个序列。

作用:后一个序列参数中,序列前两个值先传入第一个参数的函数,返回的值作为该函数的第一个参数,并将序列的第三个值作为函数的第二个参数。依此类推。最后函数返回的值就是reduce的值。

 

a = reduce(lambda x, y: x * 10 + y, [5, 2, 3, 4, 1])
print(a)
# 52341
# 先把5,2传入函数,得到52,再把52,3传入函数,得到523,依此类推

 

 

3,filter:

参数:一个函数,一个序列

返回值:Iterator,是传入的值的一部分

作用:将第二个参数每一个数值传入第一个函数,函数值返回True,保留这个数值,返回False,删除数值

   筛选大于10的数:

a = filter(lambda x: x > 10, [2, 90, 8, 10, 20, 30])
print(list(a))
# [90, 20, 30]

 

 

4,sorted:

参数:多个

返回值:list

作用:排序,可以自定义根据什么条件来排序,可以倒序

   对普通的数字组成的列表排序:

a = sorted([2, 6, 1, 8, 7])
print(a)
# [1, 2, 6, 7, 8]

   对字符串排序,返回一个列表:

a = sorted("32145")
print(a)
# ['1', '2', '3', '4', '5']

    对字母排序,区分大小写

a = sorted(['b', 'a', 'G', 'D', 'c'])
print(a)
# ['D', 'G', 'a', 'b', 'c']

    自定义排序,按距离数字8的距离排序:

def sort(x):
    return abs(x - 8)
a = sorted([3, 7, 4, 22, 0], key=sort)
print(a)
# [7, 4, 3, 0, 22]

    对字母排序,不区分大小写,并倒序

a = sorted(['g', 'B', 'A', 'e', 'w'], key=str.upper, reverse=True)
print(a)
# ['w', 'g', 'e', 'B', 'A']

 

猜你喜欢

转载自2914905399.iteye.com/blog/2320002
今日推荐