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的主要内容,如果未能解决你的问题,请参考以下文章