python常用函数和操作_python一条语句分析几个常用函数和概念 -

前言

过年也没完全闲着,每天用一点点时间学点东西,本文为大家介绍几个python操作的细节,包含all、any、for in等操作,以及介绍我解决问题的思路。

一、开篇

先从我看到的一个简单的语句开始。

刚看到这个语句的时候我整个人完全懵住了,完全看不懂这是干啥的。不过其实编程难的不是这些东西,这些东西再也不怕,也能想办法解决掉,而隐藏在这后面的编程思维及数学等知识是很难解决的。

1.1 any、all

言归正传,看到这个语句后,我想到的就是如何将复杂的问题简单化。

于是我先查了一下any函数,查到any和all函数都是对于集合而言的。

描述

any() 函数用于判断给定的可迭代参数 iterable 是否全部为空对象,如果都为空、0、false,则返回 False,如果不都为空、0、false,则返回 True。

函数等价于:

语法

以下是 all() 方法的语法:

all(iterable)

参数

iterable -- 元组或列表。

返回值

如果iterable的所有元素不为0、’’、False或者iterable为空,all(iterable)返回True,否则返回False;

注意:空元组、空列表返回值为True,这里要特别注意。

简单点说,any函数用于判断给定的可迭代参数iterable是否全部为空对象,如果都为空、0、false中的一种(以下简称为空),则返回False,如果不都为空,则返回True;而all函数刚好相反,如果全不为空,则返回True,否则返回False。

1.2 for in

这就是说上面的语句any里面是一个iterable对象。我们再来看一下里面的语句:

for 循环语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法:

for循环的语法格式如下:

流程图:

可以明显的看到一个for,for in在python里面很明显,简单的说就是循环一个集合,并对此集合进行过滤、计算等操作。同样先简化它:

这很明显,生成的集合与原来相同,但是平常我们看到的都是这样的:

这里面就牵涉到python生成器的概念。

1.3 生成器

生成器的优点在于不需要事先计算,只需要在需要的时候才会调用,不浪费存储空间和计算时间。简单的说生成器是一种特殊的集合,这种集合并不像普通的集合一样事先全部算出,而是在需要的时候才去计算。其实实现方式很简单,将[]换成()即可,于是就有了上面的语句。关于生成器的其他操作和生成方式可以在网上查阅相关资料,这里不再赘述。

1.4 继续for in

接着上面的for in继续介绍,(word for word in [“拍照”, “拍张照”])结果与原始数据相同,那么如果我们想要产生一点变化就要对第一个word执行一个函数,于是就有了word in text,这里的in就是个函数,判断word是否是在text中,即word是否是text的子串,相当于其他语言的contain。

这样就很清楚了,(word in text for word in [“拍照”, “拍张照”])表示循环原始集合,判断每个元素是否是给定的text字符串的子串,返回的是个True、False集合。

当然我们也可以在循环的时候实现过滤,看如下语句:

貌似这条语句跟上面的差别就在于word in text的位置发生了变化,并多了个if。其实二者差别非常大,这里实现的功能是判断word是否是text的子串,如果是则取出,相当于过滤掉不是子串的对象,最终返回的是一个字符串集合。

1.5 总体

那么这里我们再来看一下最开始的语句:

综合以上语句就可以知道此语句实现的是循环集合判断每一个字符串是否是给定的text的子串,最终如果不全为空的话就返回True,即text只要包含集合中的任意一个字符串,则返回True。可以用于命令检测等等场合。

二、总结

本文通过一个稍微复杂的语句,为大家介绍了python中几个常用的函数和概念,并分析了由繁而简的过程。

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

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

相关文章

.NET5发布了,腾讯招聘点名要求精通MySQL,而不是SQLServer!

.NET5正式发布,社区一片欢腾,.NET相关技术栈也会迎来大变革,而大厂的招聘要求可谓是技术风向标!紧盯腾讯网易顺丰等大厂的招聘,会发现都在明确要求。MySQL,而不是SQL Server了。究其根本,还是跨…

leetcode——344. 反转字符串

leetcode——344. 反转字符串 问题概述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假…

python面向对象编程思想书籍_Python的面向对象编程思想

什么是Python的多态?多态的好处就是,当我们需要传入Dog、Cat、Tortoise……时,我们只需要接收Animal类型就可以了,因为Dog、Cat、Tortoise……都是Animal类型,然后,按照Animal类型进行操作即可。由于Animal…

C# WPF:把文件给我拖进来!!!

❝首发公众号:Dotnet9作者:沙漠之尽头的狼日期:202-11-27一、本文开始之前上传文件时,一般是提供一个上传按钮,点击上传,弹出文件(或者目录选择对话框),选择文件&#xf…

c++——reverse()函数的使用

c——reverse()函数的使用 使用方式: reverse(vec.begin(),vec.end()); queue和stack容器不支持遍历操作,没有迭代器,所以不能使用算法里的反转函数,其类也没有提供反转的成员函数 因为set和map是关联式容器,在插入元…

python3的float数精度_python浮点数精度问题

python浮点数的计算,结果并不像我们想象的那样,比如:>>> 0.250.25-0.40.09999999999999998>>> 0.60.3-0.260.6399999999999999在计算机上面运算的结果是我们实际期望的结果并不一致,导致这样的根本原因就是&…

.NET应用程序安全操作概述

介绍此页面旨在为开发人员提供.NET安全提示。.NET Framework.NET Framework是Microsoft用于企业开发的主要平台。它是ASP.NET,Windows桌面应用程序,Windows Communication Foundation服务,SharePoint,Visual Studio Tools for Off…

leetcode——面试题 17.10. 主要元素

问题描述: 数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。 示例 1: 输入:[1,2,5,9,5,9,5,5,5] 输出:5 示例 2: 输入:[3,2] 输出…

github设置中文_【Github】100+ Chinese Word Vectors 上百种预训练中文词向量

(给机器学习算法与Python学习加星标,提升AI技能) 该项目提供了不同表征(密集和稀疏)上下文特征(单词,ngram,字符等)和语料库训练的中文单词向量。开发者可以轻松获得具有不同属性的预先训练的向量,并将它们用于下游任务。此外&…

服务器重新部署踩坑记

服务器重新部署踩坑记Intro之前的服务器是 Ubuntu 18.04 ,上周周末想升级一下服务器系统,从 18.04 升级到 20.04,结果升级升挂了... 后来 SSH 始终连不上,索性删除重新部署了一个,新部署了一个 Centos 8 的系统&#x…

c++——优先队列(priority_queue)

优先队列详解/C 优先队列 1.概念:什么是优先队列呢?在优先队列中,元素被赋予优先级,当访问元素时,具有最高级优先级的元素先被访问 .即优先队列具有最高级先出的行为特征。它可以说是队列和排序的完美结合体,不仅可以存储数据&am…

一个div 上下两行_Django 实战 | 搭一个 GitHub 用户展示网站 02

一、创建公共 HTML 模板在 templates 文件里面新建一个 base.html&#xff0c;再到Bootstrap4中文文档找到 最基本的模板&#xff0c;拷贝代码到 base.html&#xff0c;在 home.html 中引入 base.html&#xff1a;{% extends base.html %}{% block content %}<h1>Hello W…

C#如何回到主线程,如何在委托指定线程执行

在多线程情况下&#xff0c;有时候我们需要在主线程里面执行一些逻辑&#xff0c;比如修改UI控件SynchronizationContex可以帮助我们在指定的线程执行SynchronizationContext.Current 为获取当前线程的同步上下文&#xff0c;拿到线程的上下文之后可以通过调用Send&#xff08;…

算法设计与分析——递归与分治策略——循环日程赛

问题描述&#xff1a; 非递归方案一&#xff1a;代码 #include<bits/stdc.h> using namespace std;void gameTable(vector<vector<int>> &vec,int k) {int i0,j0;//二维数组的下标&#xff0c;行&#xff0c;列 int temp;//需要新安排选手数目 int n;//…

linux开发板推荐_【新品发布】WiFi开发板XW-01-Kit,超低功耗,冷启快联,智能门锁首选!...

智能门锁作为智能家居的入口级产品以及家庭智能安防的核心单品&#xff0c;已然成为智能家居生态链中不可或缺的核心组成部分。智能门锁方案的研发仍然面临着诸多痛点&#xff0c;如耗电问题、连接繁琐和安全隐患等。物联网的应用与发展必然离不开对更低功耗的追求&#xff0c;…

如何使用 C# 扩展方法

译文链接&#xff1a;https://www.infoworld.com/article/3130492/how-to-work-with-extension-methods-in-c.htmlC# 在 3.0 版本中提供了对 扩展方法 的支持&#xff0c;扩展方法常用于给一个已存在的类添加新的方法从而扩展该类的功能&#xff0c;最关键的是&#xff1a;你不…

算法设计与分析——递归与分治策略——最接近点对问题

【问题描述】 最近对问题要求在包含有n个点的集合S中&#xff0c;找出距离最近的两个点。设 p1(x1,y1)&#xff0c;p2(x2,y2)&#xff0c;……&#xff0c;pn(xn,yn)是平面的n个点。 严格地将&#xff0c;最近点对可能不止一对&#xff0c;此例输出一对即可。 【基本算法思想…

Visual Studio 即时窗口实用技巧

在 Visual Studio 中有一个窗口叫 Immediate 窗口&#xff0c;中文版本应该叫即时窗口。默认会在你启动调试时在 VS 编辑器中弹出来。你也可以通过 Debug|Windows|Immediate 或者使用快捷键 CtrlAltI 手动把它调出来。这个窗口很实用&#xff0c;尤其是在调试的时候。下面总结几…

怎么判断再一个局域网内一个ip被两台机器占用_交换机与 VLAN 到底是怎么来的...

最近有几个学生粉丝后台私信我&#xff0c;让我说说交换机与 VLAN。我在阅读这几个粉丝私信中发现一个有趣的现象&#xff0c;那就是吐槽大学计算机网络课程的晦涩枯燥&#xff0c;而不是去深层次解释协议出现的原因或者用来去解决什么问题。帅天今天就和大家聊聊交换机与 VLAN…

移动建模平台元数据存储架构演进

源宝导读&#xff1a;明源云天际-移动建模平台是一个快速生成多端移动应用的PaaS平台&#xff0c;元数据是移动应用设计与运行的核心数据结构&#xff0c;本文将从元数据存储这个视角分享我们的技术思考与实践。一、什么是元数据&#xff08;Metadata&#xff09;&#xff1f;这…