我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python中你应该知道的一些内置函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python中你应该知道的一些内置函数

前言

python内置了一些非常巧妙而且强大的内置函数,对初学者来说,一般不怎么用到,我也是用了一段时间python之后才发现,哇还有这么好的函数,这个函数都是经典的而且经过严格测试的,可以一下子省了你原来很多事情,代码不仅简洁易读了很多,而且不用自己去闭门造车.既方便了自己又减少了bug。

一、sorted()

1)对于一个列表排序


sorted([100, 98, 102, 1, 40])
>>>[1, 40, 98, 100, 102]

2)通过key参数/函数

比如一个长列表里面嵌套了很多字典元素,我们要按照每个元素的长度大小排序


L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
new_line=sorted(L,key=lambda x:len(x))
print(new_line)
>>>[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

3)对由tuple组成的List排序

比如下面是学生里面的年龄的一个list


students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] 
print(sorted(students, key=lambda student : student[2])) 
>>>[('zhang', 'B', 10), ('li', 'B', 12), ('wang', 'A', 15)]

4)用cmp函数排序


students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] 
print(sorted(students, cmp=lambda x,y : cmp(x[0], y[0])) )
>>>[('li', 'B', 12), ('wang', 'A', 15), ('zhang', 'B', 10)]

其实对于python的排序要仔细讲,需要一整篇幅讲它的排序算法,内容非常多,感兴趣的可以去看一下源码,看它是如何设计的,这里只是先点一下.

二、map()

map可以根据提供的函数对指定序列做映射,它接受一个函数f和一个list,并通过把函数f以此作用在list上的每个元素,然后返回一个新的list,map函数的入参也可以是多个.注意这个函数一定要有返回值(值值值重要的说三遍)。

不然就会返回新的list 类似[None, None, None, None, None, None, None, None, None]

查看图片

适合的场景是对列表里面的一些元素需要重复的操作,用map就可以轻松搞定.

三、enumerate()

Python中,迭代永远是取出元素本身,而非元素的索引,有的时候我们需要知道元素的索引比如在一个很长的列表里面是一些网站名,我们希望在打印的时候,也能列出索引。若没有这个函数,我们需要在加一个变量,在循环打印的时候让这个计数变量递增,现在有了enumerate,就不用这么麻烦了,直接搞定.

查看图片

四、zip()

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表


x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
>>print xyz

这个函数特别是在构建字典序列的时候非常方便 (这招非常巧妙,大家可以仔细揣摩)

查看图片

五、filter()

filter函数接受一个函数f和一个list,这个函数f的作用是对每个元素进行判断,返回True或者False,这样可以过滤掉一些不符合条件的元素,然后返回符合条件的list.


def is_even(x):
 return x%2==0
print(filter(is_even,[1,2,3,4,5]))
>>>[2, 4]

特别是在处理文件的时候,需要把一些空格,回车和空字符去掉

查看图片

六、reduce()

reduce函数的用法和map很类似,也是一个函数f和一个list,但是函数的入口参数一定要是两个,reduce也是对每个元素进行反复调用,最后返回最终的值,而map是返回一个list

查看图片

注意:在python3里面reduce已经从全局函数里面移除了,需要用的话要from functools import reduce

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程网的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python中你应该知道的一些内置函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中你应该知道的一些内置函数

前言 python内置了一些非常巧妙而且强大的内置函数,对初学者来说,一般不怎么用到,我也是用了一段时间python之后才发现,哇还有这么好的函数,这个函数都是经典的而且经过严格测试的,可以一下子省了你原来很多事情,代码不仅简洁易读了很多,
2022-06-04

第一次使用Android Studio时你应该知道的一切配置(推荐)

【开发环境】物理机版本:Win7旗舰版(64位)Android Studio版本:2.1正式版【Android Studio的优势】基于Gradle的构建支持Android特定重构和快速修复更加丰富的模板代码,让创建程序更简单提示工具更好地
2023-05-31

关于bash函数你可能不知道的一些事情(译)

关于bash函数,这里有一些您不知道的东西。通常当你写一个函NXtvFVsJb数时,你会这样做:function name () {... }不是吗我知道你会这么做,因为这是所有人写函数的方式。这就是我要说的。在bash中{…}并不像在ja
2022-06-04

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

小编给大家分享一下Python中常用的内置函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!complex()返回一个形如 a+bj 的复数,传入参数分为三
2023-06-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录