gets函数会自动加空字符吗_Python高手都知道的内置函数,你不知道就low了

c144b6c59d87a8ebd831f0dc20684d46.png

xinxin 菜鸟学Python

阅读本文大概需要5分钟



python内置了一些非常巧妙而且强大的内置函数,对初学者来说,一般不怎么用到,我也是用了一段时间python之后才发现,哇还有这么好的函数,这个函数都是经典的而且经过严格测试的,可以一下子省了你原来很多事情,代码不仅简洁易读了很多,而且不用自己去闭门造车.既方便了自己又减少了bug。1.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的排序要仔细讲,需要一整篇幅讲它的排序算法,内容非常多,感兴趣的可以去看一下源码,看它是如何设计的,这里只是先点一下.2.map()
map可以根据提供的函数对指定序列做映射,它接受一个函数f和一个list,并通过把函数f以此作用在list上的每个元素,然后返回一个新的list,map函数的入参也可以是多个.注意这个函数一定要有返回值(值值值重要的说三遍)。
不然就会返回新的list 类似[None, None, None, None, None, None, None, None, None]

033cb6422a71d76aa4843c0a0a6ba077.png


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

639e2f3ed72d6753e807854f0a458b61.png

4.zip()
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表
x = [1, 2, 3]
y = [4, 5, 6]
z = [7, 8, 9]
xyz = zip(x, y, z)
>>print xyz
这个函数特别是在构建字典序列的时候非常方便 (这招非常巧妙,大家可以仔细揣摩)

d71e64d39c50c2366511da6e32aa24fa.png

5.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]
特别是在处理文件的时候,需要把一些空格,回车和空字符去掉

2c02285edae346c3b318b04397f9c089.png

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

77c38251d909434cc465a36c65965439.png


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tableau2019版本安装步骤

因为需要,所以遍地寻找tableau安装包,然后找到2021等版本,安装发现都不能显示表和图,所以继续寻找,然后发现了2019版安装包,安装发现可以正常使用,以下是安装包的下载地址: 链接&…

HTML全屏背景图

当我们在写前端页面的时候为了页面的美观我们通常会为页面设置图片背景,那么我们如何来设置全屏的背景图呢??? 设置全屏背景图需要三个属性 background-image: url(img/untitled.png);background-repeat: no-repeat;background-s…

【youcans 的 OpenCV 例程200篇】121. 击中-击不中用于特征识别

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程 200 篇】121. 击中-击不中用于特征识别 击中-击不中是形态检测的基本工具,可以实现对象的细…

存储过程双层循环_别出心裁,为锂金属负极贴上“双层保护膜”!

第一作者:Yang Zhao、Maedeh Amirmaleki通讯作者:TobinFilleter、蔡梅、孙学良通讯单位:加拿大多伦多大学、通用汽车研发中心、加拿大西安大略大学研究亮点:1.提出了锂金属负极“双层保护膜”的概念。2.通过ALD/MLD精确控制双层保…

Anaconda安装Wordcloud库失败的解决办法

主要安装出现了如下问题: 当时我也不知道这是出了什么问题,后来我就试试另一个办法安装Wordcloud,因此记录一下: 1、查看自己的Anaconda使用的python版本号 方法:进入Anaconda Prompt,输入python -V 2…

拼图游戏

使用JS制作了一款拼图游戏供大家参考。 原理分析&#xff1a; 1.鼠标的点击和松开事件 2.显示原图作为参考 3.方块的移动替换 4.是否完成拼图的判断 5.完成之后会弹窗提示 效果演示 代码展示 <!DOCTYPE html> <html><head><meta charset"UTF-8&qu…

【youcans 的 OpenCV 例程200篇】122. 形态算法之边界提取

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程 200 篇】122. 形态算法之边界提取 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述形状…

人机协作机器人发展趋势_发那科童梁:机器人化不是时髦!有效的人机协作投资回报率更高...

编者按&#xff1a;此文是根据上海发那科机器人有限公司技术部部长童梁于2019年5月在浙江宁波余姚举行的第六届中国机器人峰会上的《物联网浪潮下的智能制造》报告录音整理摘编部分而成&#xff0c;题目为编者所加。随着“中国制造2025”的不断推进&#xff0c;越来越多制造业企…

做一个关于我和她微信聊天记录的爱心词云图

前言&#xff1a; 因为最近接触到了词云图&#xff0c;所以就想做一个关于和女朋友聊天的词云图,但是现在很少使用QQ了&#xff0c;所以就不得不使用微信导出聊天记录。于是我坐在电脑面前查阅资料查了一天&#xff0c;但是在走到快导出微信聊天记录的时候&#xff0c;还是被…

【youcans 的 OpenCV 例程200篇】123. 形态算法之孔洞填充

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程 200 篇】123. 形态算法之孔洞填充 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述形状…

弹框提示

jquery弹框提示框的实现。 原理分析 1.点击按钮出现弹框 2.设置弹框标题和内容 3.设置取消和确定两个按钮 4.点击确定继续执行 5.点击取消返回此页面 效果演示 原始样式 点击之后 点击确认按钮 代码演示 在开始我们的程序之前注意&#xff1a; 引入Jquery.js架包 <…

el-tooltip位置不灵活_美团研究院:超五成生活服务业商户有灵活用工需求

更多精彩&#xff0c;请点击上方蓝字关注我们&#xff01;美团研究院于 9 月 15 日发布《生活服务业新就业形态和灵活就业的发展特征和发展趋势》报告&#xff0c;报告指出我国目前灵活用工岗位类型众多&#xff0c;是从业者的重要收入来源&#xff0c;从业者通过灵活就业拓宽了…

【youcans 的 OpenCV 例程200篇】124. 孔洞填充的泛洪算法

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程 200 篇】124. 孔洞填充的泛洪算法 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述形状…

域名可以转让注册人吗_网店可以转让吗?

随着经济市场的快速发展&#xff0c;市场决定需求&#xff0c;所以有很多人紧跟时代&#xff0c;选择了天猫店铺。有一些人想可以不可以购买网店&#xff0c;网店可以转让吗&#xff0c;可以直接经营吗&#xff1f;还有一些人在一同经营之后&#xff0c;或许是业绩不佳或许是有…

java - 菱形输出

程序首先会让你输入一个奇数&#xff0c;即将要生成菱形的总行数&#xff0c;当你输入奇数后按Enter按键就会在控制台看到此菱形了。 效果演示&#xff1a; 代码展示 package com.zsh;import java.util.Scanner;public class lingxing {public static Scanner input new Sc…

MySQL的DDL(数据定义语言)

笔记本 SQL语言一共分为4大类&#xff1a; DQL&#xff08;数据查询语言&#xff09;、 DDL&#xff08;数据定义语言&#xff09;、 DML&#xff08;数据操纵语言&#xff09;、 DCL &#xff08;数据控制语言&#xff09; 本文就介绍的是其中的DDL&#xff08;Data D…

【youcans 的 OpenCV 例程200篇】125. 形态算法之提取连通分量

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程 200 篇】125. 形态算法之提取连通分量 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述…

2评分标准多少分_高新企业认定评分标准,需要多少分才能拿到高新认证证书...

在高新技术企业认定工作中&#xff0c;企业要想成功拿到高新认证证书&#xff0c;那么就必须要符合高新企业认定评分标准&#xff0c;只有达到异地拿到评分数之后&#xff0c;企业才有可能拿到高新认证证书。根据相关文件的规定&#xff0c;我们在申请高新企业认定过程中&#…

java - 猴子吃桃

著名的猴子吃桃问题&#xff0c;计算摘桃子的个数。 猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不瘾&#xff0c;又多吃了一个 第二天早上又将剩下 的桃子吃掉一半&#xff0c;又多吃了一个。以后每天早上都吃了前一天剩下 的一…

【youcans 的 OpenCV 例程200篇】126. 形态算法之凸壳(Convex hull)

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列&#xff0c;持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列&#xff0c;持续更新中 【youcans 的 OpenCV 例程 200 篇】126. 形态算法之凸壳 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述形状的元…