第2章-数学建模

news2024/11/25 13:32:08

目录

一、数据类型

【函数】:

(1)find()、rfind()、index()、rindex()、count()

(2)split()、rsplit()

(3)join()

(4)strip()、rstrip()、lstrip()

(5)startswith()、endswith()

二、列表 [:]

三、元组

四、集合

五、字典


一、数据类型

1.Python中有6种标准的数据类型:number(数字)、string(字符串)、list(列表)、tuple(元组)、set(集合)和dictionary(字典)。

(1)数字:①整型(int)

             ②浮点型(float):整数部分和小数部分,也可以使用科学计数法表示

             ③复数(complex):实部和虚部,a+bj或complex(a,b),复数的实部和虚部都是浮点型

             ④布尔型(bool):True和False作为关键字,值分别对应0和1

【数据类型转换】:

        (1)int(x)将x转换为一个整数。

        (2)float(x)将x转换为一个浮点数。

       (3)complex(x, y)将x和y转换为一个复数,实数部分为x,虚数部分为y。x和y是数字表达式。

(2)字符串:''或'

截取字符串[0:]

从左往右截取:0开始,右往左:-1开始

【函数】:

(1)find()、rfind()、index()、rindex()、count()

find()用来查找一个字符串在另一个字符串指定的范围中首次出现的位置,如果不存在则返回-1;

   rfind()方法用来查找一个字符串在另一个字符串指定的范围中最后一次出现的位置,如果不存在则返回-1;

index()方法用来返回一个字符串在另一个字符串指定范围中首次出现的位置,如果不存在则抛出异常;

   rindex()方法用来返回一个字符串在另一个字符串指定范围中最后一次出现的位置,如果不存在则抛出异常;

count()方法用来返回一个字符串在另一个字符串中出现的次数,如果不存在则返回0。

(2)split()、rsplit()

字符串对象的split()和rsplit()方法分别用来以指定字符为分隔符,从字符串左端和右端开始将其分割成多个字符串,并返回包含分隔结果的列表。

对于split()和rsplit()方法,如果不指定分隔符,则字符串中的任何空白字符(包括空格、换行符、制表符等)的连续出现都将被认为是分隔符,并且自动删除字符串两侧的空白字符,返回包含最终分隔结果的列表。

(3)join()

字符串的join()方法用来将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符,返回新字符串。

(4)strip()、rstrip()、lstrip()

这几个方法分别用来删除两端、右端或左端连续的空白字符或指定字符。

(5)startswith()、endswith()

这两个方法用来判断字符串是否以指定字符串开始或结束,可以接收两个整数参数来限定字符串的检测范围。

另外,这两个方法还可以接收一个字符串元组作为参数来表示前缀或后缀。

二、列表 [:]

[1:3]代表截取[1,2]元素,即:[1:3)

(1)列表推导式:在逻辑上等价于一个循环语句

os.listdir()用来列出指定文件夹中所有文件和子文件夹清单,

字符串方法endswith()用来测试字符串是否以指定的字符串结束。

三、元组

    元组是一个不可改变的列表。不可改变意味着它不能被修改。元组只是逗号分隔的对象序列(不带括号的列表)。为了增加代码的可读性,通常将元组放在一对圆括号中:

四、集合

1.集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。         在Python中,创建集合有两种方式:一种是用一对大括号将多个用逗号分隔的数据括起来;另一类是使用set()函数,该函数可以将字符串、列表、元组等类型的数据转换成集合类型的数据。

2.创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。

3.集合中不能有相同元素,如果在创建集合时有重复元素,Python会自动删除重复的元素。集合的这个特性非常有用,例如,要删除列表中大量重复的元素,可以先用set()函数将列表转换成集合,再用list()函数将集合转换成列表,操作效率非常高。

五、字典

   字典(dictionary)是Python中另一个非常有用的内置数据类型。前面介绍的列表是有序的对象集合,字典是无序的对象集合。两者的区别在于:字典中的元素是通过键来存取的,而不是通过索引值存取的。

字典是一种映射类型,字典用“{}”标识,它是一个无序的键(key):值(value)对集合。在同一个字典中,键(key)必须是唯一的,但是值则不必唯一,值可以取任何数据类型但键必须是不可变的,如字符串、数字或元组。

字典对象提供了一个get()方法用来返回指定“键”对应的“值”,并且允许指定该键不存在时返回特定的“值”。

可以对字典对象进行迭代或者遍历,默认是遍历字典的“键”,如果需要遍历字典的元素必须使用字典对象的items()方法明确说明,如果需要遍历字典的“值”则必须使用字典对象的values()方法明确说明。

六、string库中

ascii_letters表示英文大小写字符,digits表示10个数字字符。

join(…)的作用是使用空字符把参数中的字符串连接起来成为一个长字符串。最后使用for循环遍历该长字符串中的每个字符,把每个已出现字符的次数加1,如果是第一次出现,则已出现次数为0。

choice()用于从多个元素中随机选择一个

七、函数

1.函数分内置函数、第三方模块函数和自定义函数

内置函数是Python系统自带的函数,模块函数NumPy等库中的函数。

Python中定义函数的语法如下:
def functionName(formalParameters):
        functionBody

函数通常使用三个单引号'''...'''来注释说明函数;函数体内容不可为空,可用pass来表示空语句。在函数调用时,函数名后面括号中的变量名称称为实际参数(简称实参)。

定义函数时需要注意以下两点:

(1)函数定义必须放在函数调用前,否则编译器会由于找不到该函数而报错。

(2)返回值不是必需的,如果没有return语句,则Python默认返回值None。

2.匿名函数

所谓匿名函数,是指不以def语句定义的没有名称的函数,它在使用时临时声明、立刻执行,其特点是执行效率高。

Python使用lambda来创建匿名函数,它是一个可以接收任意多个参数并且返回单个表达式值的函数,其语法格式为:

lambda arg1[,arg2,…,argn]:expression

2.1模块的导入和使用

随着程序的变大及代码的增多,为了更好地维护程序,一般会把代码进行分类,分别放在不同的文件中。公共类、函数都可以放在独立的文件中,这样其他多个程序都可以使用,而不必把这些公共的类、函数等在每个程序中复制一份,这样独立的文件就叫做模块。

标准库中有与时间相关的time、datetime模块,随机数的random模块,与操作系统交互的os模块,对Python解释器相关操作的sys模块,数学计算的math模块等几十个模块。

(1)标准库与扩展库中对象的导入与使用

Python标准库和扩展库中的对象必须先导入才能使用,导入方式如下。

  •  import 模块名 [as 别名]

使用时需要在对象之前加上模块名作为前缀,必须以“模块名.对象名”的形式进行访问。如果模块名字很长,可以为导入的模块设置一个别名,然后使用“别名.对象名”的方式来使用其中的对象。 

例2.15  加载模块示例。
#程序文件ex2_15.py
import math               #导入标准库math
import random             #导入标准库random
import numpy.random as nr  #导入numpy库中的random模块
a=math.gcd(12,21)          #计算最大公约数,a=3
b=random.randint(0,2)       #获得[0,2]区间上的随机整数
c=nr.randint(0, 2, (4, 3))      #获得[0,2)区间上的4×3随机整数矩阵
print(a); print(b); print(c)      #输出a,b,c的值

  • from 模块名 import 对象名 [as 别名]

仅导入明确指定的对象,并且可以为导入的对象起一个别名。这种导入方式可以减少查询次数,提高访问速度,同时也可以减少程序员需要输入的代码量,不需要使用模块名作为前缀。  

例2.16  导入模块示例。
#程序文件ex2_16.py
from random import sample
from numpy.random import randint
a=sample(range(10), 5)  #在[0,9]区间上选择不重复的5个整数
b=randint(0, 10, 5)      #在[0,9]区间上生成5个随机整数
print(a); print(b) 

  from 模块名 import *(不推荐)

常用内置函数用法

内置函数不需要额外导入任何模块即可直接使用,具有非常快的运行速度,推荐优先使用。

使用下面的语句可以查看所有内置函数和内置对象。

dir(_builtins_)

使用help(函数名)可以查看某个函数的用法。

 2.2排序
例2.19  sorted()使用示例。
#程序文件ex2_19.py
import numpy.random as nr
x1=list(range(9,21))
nr.shuffle(x1)       #shuffle()用来随机打乱顺序
x2=sorted(x1)        #按照从小到大排序
x3=sorted(x1,reverse=True)  #按照从大到小排序
x4=sorted(x1, key=lambda item: len(str(item)))  #以指定的规则排序
print(x1); print(x2); print(x3); print(x4)
2.3枚举
2.4map()函数

函数map(func, *iterables)把一个函数func依次映射到一个可迭代对象iterables的每个元素上,并返回一个可迭代的map对象作为结果,map对象中每个元素是iterables中元素经过函数func处理后的结果。

2.5filter()函数

内置函数filter()将一个单参数函数作用到一个序列上,返回该序列中使得该函数取值为True的那些元素组成的filter对象,可以把filter对象转换为列表、元组、集合,也可以直接使用for循环遍历其中的元素。

2.6zip()函数

zip()函数用来把多个可迭代对象中对应位置上的元素压缩在一起,返回一个可迭代的zip对象,其中每个元素都是包含原来多个可迭代对象对应位置上元素的元组,最终结果中包含的元素个数取决于所有参数序列或可迭代对象中最短的那个。

八、NumPy库

NumPy提供了两种基本的对象:

ndarray:存储单一数据类型的多维数组;

ufunc:能够对数组进行处理的函数。

在使用NumPy之前,首先必须导入该函数库,导入方式如下:

import numpy as np

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

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

相关文章

物联网mqtt网关搭建背后的技术原理

前言 物联网是现在比较热门的软件领域,众多物联网厂商都有自己的物联网平台,而物联网平台其中一个核心的模块就是Mqtt网关。这篇文章的目的是手把手教大家写书写一个mqtt网关,后端存储支持Kafka/Pulsar,支持mqtt 连接、断链、发送…

GPT盘新增容量后如何扩容?

场景:一块5T的GPT盘,现有需求再加10T, 在虚拟化平台加10T盘后,机器不重启,执行命令 echo 1 > /sys/block/sdb/device/rescan刷新磁盘容量,可看到容量已刷出。 但执行fdisk /dev/sdb时,发现创…

css class 多种规则判断样式

需求 商品分类选择变量 上下的分类需要添加圆角 这个就设计到多个分类的判断 解决方法 在class里面多写些判断 判断上下的分类 做成圆角即可 代码 <!-- html --> <view v-for"(item,index) in tabbar" :key"index" class"u-tab-ite…

如何帮助自闭症儿童更好地控制面部表情

作为星贝育园自闭症康复学校的老师&#xff0c;帮助自闭症儿童更好地控制面部表情是我们工作中的一项重要任务。 在孩子进入星贝育园之前&#xff0c;我们会先对其进行个性化的观察报告。通过一段时间的仔细观察和评估&#xff0c;全面了解孩子的行为特点、能力优势以及…

[css3] 如何设置边框颜色渐变

div {border: 4px solid;border-image: linear-gradient(to right, #8f41e9, #578aef) 1; }参考&#xff1a; 5种CSS实现渐变色边框&#xff08;Gradient borders方法的汇总

linux/windows wps node.js插件对PPT状态监听并且通知其他应用

需求背景 公司要求对Window系统&#xff0c;和国产操作系统&#xff08;UOS&#xff09;的wps 软件在 PPT开始播放 结束播放&#xff0c;和播放中翻页 上一页 下一页 等状态进行监听&#xff0c;并通知到我们桌面应用。 技术方案 开发WPS插件&#xff0c;使用node.JS 插件开…

MongoDB教程(十七):MongoDB主键类型ObjectId

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、Object…

共享充电桩语音ic方案,展现它的“说话”的能力

随着电动汽车的普及&#xff0c;充电设施的便捷性、智能化需求日益凸显&#xff0c;共享充电桩语音IC应运而生&#xff0c;成为连接人与机器、实现智能交互的桥梁。本文将为大家介绍共享充电桩语音ic的概述、应用词条以及优势&#xff0c;希望能够帮助您。 一、NV170D语音ic概述…

(laya)地图缩放保持视口点不变算法

文章目录 结论视口中心保持不变【未化简过程】&#xff08;代码选中部分为x方向的计算&#xff09;部分解析 结论 视口中心点保持不变 scl&#xff1a;新的缩放比 x&#xff1a;缩放为1时的偏移坐标 stHalfW&#xff1a;舞台半宽 视口左上角点保持不变 去掉 stHalfW即可 视…

探索NVM:让Node.js开发如虎添翼的利器

文章目录 前言一、NVM简介&#xff1a;版本管理的瑞士军刀二、NVM能解决什么问题&#xff1f;三、如何使用NVM​&#xff1f;总结 前言 在这个日新月异的编程世界里&#xff0c;Node.js凭借其高效的非阻塞I/O操作和轻量级的事件驱动模型&#xff0c;成为了全栈开发、微服务架构…

Linux之基础IO(上)

目录 库函数文件操作 写文件 读文件 系统调用文件操作 写文件 读文件 文件描述符fd 深刻理解linux下一切皆文件 重定向原理 在c语言中我们学习了fopen&#xff0c;fread&#xff0c;fwrite接口&#xff0c;用于进行文件相关的操作&#xff0c;在之前我们学习了计算…

站在资本投资领域如何看待分布式光纤传感行业?

近年来&#xff0c;资本投资领域对于分布式光纤传感行业并不十分敏感。这主要是由于分布式光纤传感技术是一个专业且小众的领域&#xff0c;其生命周期相对较长&#xff0c;缺乏爆发性&#xff0c;与消费品或商业模式创新产业有所不同。此外&#xff0c;国内的投资环境也是影响…

webStorm 实时模板笔记

文章目录 1、单斜杠效果 2、双斜杠效果 3、控制台打印效果 1、单斜杠 /** $END$ */效果 2、双斜杠 /*** $END$* author Ikun* since $DATE$ $TIME$ */DATE date() ✔ TIME time() ✔效果 3、控制台打印 console.log("███████$EXPR_COPY$>>>>&a…

040403数据选择器比较器运算电路

数据选择器&比较器&运算电路 4.4.3数据选择器0.数据选择器的定义与功能1.4选1数据选择器2.集成电路数据选择器利用8选1数据选择器组成函数产生器的一般步骤 4.4.4 数值比较器1.1位数值比较器2.2位数值比较器3.集成数值比较器4.集成数值比较器的位数扩展 4.4.5算术运算电…

时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解

时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法&#xff08;CPO&#xff09;优化VMD二次分解 目录 时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法&#xff08;CPO&#xff09;优化VMD二次分解效果一览基本介绍程序设计参考资料 效果一览…

嵌入式linux学习的每一步具体要掌握什么?

嵌入式Linux是一门综合性很强的学科&#xff0c;涉及到操作系统、硬件、驱动程序、应用开发等多个方面。我收集归类了一份嵌入式学习包&#xff0c;对于新手而言简直不要太棒&#xff0c;里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学&#…

【python基础知识】整除

熟练使用你所常用的开发语言是一个非常基本的要求。如果你日常需要使用Python&#xff0c;但是你对向上取整&#xff0c;向下取整&#xff0c;以及Python中的默认实现方式是什么都不知道的话&#xff0c;那么我就需要怀疑你的专业能力了。 1. 整除 讲解这个整除的知识&#xf…

JAVA毕业设计152—基于Java+Springboot+vue+小程序的个人健康管理系统小程序(源代码+数据库+15000字论文)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue小程序的个人健康管理系统小程序(源代码数据库15000字论文)152 一、系统介绍 本项目前后端分离带小程序(可以改为ssm版本)&#xff0c;分为用户、管理员两种…

图片转换之heic转jpg(使用ImageMagick)

缘由&#xff1a;iphone的图库&#xff0c;用jpg拍照保存后内存占比较大&#xff0c;heic格式会微缩不少。问题来了&#xff0c;电脑不能直接小图预览heic。 分析&#xff1a;现在就是解决小图预览的问题&#xff08;大图用wps可以看&#xff09; 解决&#xff1a;查找了一些…

《0基础》学习Python——第二十二讲__网络爬虫/<5>爬取豆瓣电影封面图

一、爬取豆瓣电影的图片封面 1、经过上节课我们所爬取的豆瓣电影的电影名、年份、国家、导演、主演、剧情&#xff0c;那么接下来我们将学习如何去爬取这些电影的图片&#xff0c;并将这些图片存放在文件夹中。 2、过程实现&#xff1a; 2.1、获取网页源码 首先还是和爬取电影名…