Python-常用内置函数和内置类,sortfiltermapreduce

Posted 夜尽天已明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-常用内置函数和内置类,sortfiltermapreduce相关的知识,希望对你有一定的参考价值。

列表的sort方法,会直接对列表进行排序

nums.sort()
print(nums)

ints = (5,7,8,2,4,3,9)

sorted内置函数,不会改变原有的数据,而是生成一个新的有序的列表

x = sorted(ints)
print(x)

students = [
{\'name\':\'zhangsan\',\'age\':22,\'score\':97,\'height\':180},
{\'name\':\'lisi\',\'age\':21,\'score\':98,\'height\':189},
{\'name\':\'wangwu\',\'age\':23,\'score\':87,\'height\':170},
{\'name\':\'mazi\',\'age\':20,\'score\':77,\'height\':160},
]

字典和字典之间不能使用比较运算符

#students.sort()

def foo(ele):
return ele[\'age\'] # 通过返回值告诉sort方法,按照元素进行排序

需要传递参数key,指定比较规则

key参数类型是函数

students.sort(key=foo) # 在sort内部实现的时候,调用了foo方法,并且传入了一个参数
print(students)

使用匿名函数进行排序

students.sort(key=lambda ele:ele[\'score\'])
print(students)


# filter内置类

filter 对可迭代对象进行过滤,得到的是一个filter对象

Python2的时候是内置函数,Python3修改成了一个内置类

ages = [12,23,30,17,16,22,19]

filter 可以给定两个参数,第一个参数是函数,第二参数是可迭代对象

filetr结果是一个filter类型的对象

x = filter(lambda ele:ele > 18,ages)
print(x)

<filter object at 0x000002990B06FF40> # 返回的是一个可迭代对象

adult = list(x)
print(adult)


# map的使用

ages = [12,33,54,17,16,22,19]
m = map(lambda ele:ele+2,ages)
print(list(m))

map函数,是让执行函数内的操作


# reduce的使用

reduce以前是一个内置函数

内置函数和内置类都在builtins.py文件里

from functools import reduce
scores = [100,89,99,90]
print(reduce(lambda ele1,ele2:ele1+ele2,scores))

students = [
{\'name\':\'zhangsan\',\'age\':22,\'score\':97,\'height\':180},
{\'name\':\'lisi\',\'age\':21,\'score\':98,\'height\':189},
{\'name\':\'wangwu\',\'age\':23,\'score\':87,\'height\':170},
{\'name\':\'mazi\',\'age\':20,\'score\':77,\'height\':160},
]

def bar(x,y):
return x + y[\'age\']

print(reduce(bar,students,0))

第一次0 给到x, students的第一个字典给到y

以上是关于Python-常用内置函数和内置类,sortfiltermapreduce的主要内容,如果未能解决你的问题,请参考以下文章

python基础语法常用内置函数关键字方法和之间的区别(小结)

Python - 内置函数

python内置方法

Python中的常用内置函数都有哪些呢?

PYTHON语言之常用内置函数

python 8个常用内置函数解说