人生苦短,我用Python(2)
1、for循环遍历字符串:
- string="人生苦短,我用Python"
- print(string)
- for ch in string:
- print(ch)
for 循环语句还可以用于迭代(遍历)列表、元组、集合和字典等。
2、循环嵌套:
(1)while循环套用while循环的格式:
- while 条件表达式1:
- while 条件表达式2:
- 循环体2
- 循环体1
(2)for循环中套用for循环的格式:
- for 迭代变量1 in 对象1:
- for 迭代变量2 in 对象2:
- 循环体2
- 循环体1
(3)while循环中套用for循环的格式:
- while 条件表达式:
- for 迭代变量 in 对象:
- 循环体2
- 循环体1
(4)for循环中套用while循环的格式:
- for 迭代变量 in 对象:
- while 条件表达式:
- 循环体2
- 循环体1
3、for循环实现9*9乘法表:
- for i in range(1,10):
- for j in range(1,I+1):
- print(str(j)+"*"+str(i)+"="+str(i*j)+"\t",end=' ')
- print()
循环流程:
4、跳转语句:
如果希望在for循环结束重复之前或者while循环找到结束条件之前跳出循环,有两种方法:
(1)使用continue语句直接跳到循环的下一次迭代。
(2)使用break完全中止循环。
break语句可以终止当前的循环,包括while和for在内的所有控制语句。break语句一般会结合if语句进行搭配使用,表示在某种条件下,跳出循环。如果使用嵌套循环,break语句跳出最内层的循环。
5、break语句在while和for语句中的使用:
(1)while语句中使用break语句的形式:
- while 条件表达式1:
- 执行代码
- if 条件表达式2: #条件表达式2用于判断何时调用break语句跳出循环。
- break
(2)for语句中使用break语句的形式:
- for 迭代变量 in 对象:
- if 条件表达式:
- break
6、continue在while和for语句中的使用:
(1)while语句中使用continue语句的形式:
- while 条件表达式1:
- 执行代码
- if 条件表达式2: #条件表达式2用于判断何时调用continue语句跳出循环。
- continue
(2)for语句中使用continue语句的形式:
- for 迭代变量 in 对象:
- if 条件表达式:
- continue
7、Pass空语句
pass表示空语句,它不做任何事情,一般起到占位作用。
- for i in range(1,10):
- if i%2 ==0:
- print(i,end=' ')
- else:
- pass
第四章:序列的应用
1、序列在数学中成为数列。在Python中序列是最基本的数据结构。它是一块用于存放多个值的连续内存空间。并且按一定顺序排列,每一个值(称为元素)部分配一个数字,成为索引或位置,通过索引可以取出相应的值。Python中内置了5个常用的序列结构,分别是列表、元组、集合、字典和字符串。其中,集合和字典不支持索引、切片、相加和相乘操作。
2、序列的应用:
- (1)序列概述:
- 索引
- 切片
- 序列相加
- 乘法
- 检查某个元素是否是序列的成员(元素)
- 计算序列的长度、最大值和最小值
- (2)列表(list)
- 列表的创建和删除
- 访问列表元素
- 遍历列表
- 添加、修改和删除列表元素
- 对列表进行统计计算
- 对列表进行排序
- 列表推导式
- 二位列表
- (3)元组(tuple)
- 元组的创建和删除
- 访问元组元素
- 修改元组
- 元组推导式
- 元组与列表的区别
- (4)字典(dictionary)
- 字典的创建和删除
- 访问字典
- 遍历字典
- 添加、修改和删除字典元素
- 字典推导式
- (5)列表、元组、字段和集合的区别
- (6)集合(set)
- 创建集合
- 集合的添加和删除
- 集合的交集、并集和差集运算
3、序列中的每一个元素都有一个编号,也称为索引,这个索引是从0开始递增的,即下标为0表示第一个元素,下标为1表示第2个元素,以此类推。
Python中的索引可以是负数,从右向左计数,从 -1 开始而不是从 0 开始。即最后一个元素的索引值是 -1
- verse=["python","Linux","Java","MySQL"]
- print(verse[0])
- print(verse[1])
- print(verse[-1])
-1 表示的是最后一个元素,即输出最后的MySQL。
4、切片:
切片操作时访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片操作可以生成一个新的序列,切片操作的语法格式如下:
- sname[start:end:step]
#sname:表示序列的名称。
#start:表示切片的开始位置(包括该位置),如果不指定,则默认为0。
#end:表示切片的截至位置(不包括该位置),如果不指定,则默认为序列的长度。
#step:表示切片的步长,如果省略,则默认为1,当省略步长时,最后一个冒号也可以省略。
在切片操作中,如果指定了步长,那么将按照该步长遍历序列的元素,否则将一个一个遍历序列。
- nba=["科比","乔丹","詹姆斯","奥尼尔","伯德"]
- print(nba[0:4:2])
输出真个序列,start和end都可以省略,但是要保留一个冒号---- nba[:]
5、序列相加:
在Python中,支持两种相同类型的序列相加操作,即将两个字序列进行连接,不会去除重复的元素,使用 + 运算符实现。
- nba1=["麦迪","韦德","詹姆送"]
- nba2=["科比","乔治","字母哥"]
- print(nba1+nba2)
在进行序列相加时, 相同类型的序列是指同为列表,元组,集合等,序列中的元素类型可以不同。
- nba1=["麦迪","韦德","詹姆送"]
- nba2=["科比","乔治","字母哥"]
- num=[12,23,45]
- print(nba1+nba2+num)
但是不能将列表和元组相加,也不能将列表和字符串相加。
6、乘法:
在Python中,使用数字 n 乘以一个序列会生成新的序列。新序列的内容为原来序列被重复 n 次的结果。
- phone=["Mate10","Vivo X21"]
- print(phone * 3)
- phone=["Mate10","Vivo X21"]*3
- print(phone)
7、检查某个元素是否是序列的成员:
在Python中,可以使用 in 关键字检查某个元素是否为序列的成员,即检查某个元素是否包含在某个序列中。语法格式如下:
- value in sequence
- #value表示要检查的元素
- #sequence表示指定的序列
- phone=["mate","ipad","vivo"]
- print("oppo" in phone)
- print("vivo" in phone)
也可以使用 not in 来判断元素是否不包含在指定的序列中。
- phone=["mate","ipad","vivo"]
- print("oppo" not in phone)
8、计算序列的长度、最大值和最小值
在Python中,提供了内置函数计算序列的长度、最大值和最小值。
- 使用len()函数计算序列的长度,即返回序列包含多少个元素;
- 使用max()函数返回序列中的最大元素;
- 使用min()函数返回序列中的最小函数。
num=[12,23,43,45,54,67]
print("序列num的长度为",len(num))
print("序列num的最大值为",max(num)
print("序列num的最小值为",min(num))
9、Python提供的内置函数及其作用
- list() 将序列转换为列表
- str() 将序列转换为字符串
- sum() 计算元素和
- sorted() 对元素进行排序
- reversed() 反向序列中的元素
- enumerate() 将序列组合为一个索引序列,多用在for循环中
10、列表:
在内容上可以将整数、实数、字符串、元组等任何类型的内容放入列表中,并且同一个列表中,元素的类型可以不同,因为它们之间没有任何关系。
(1)使用赋值运算符直接创建列表。
同其他类型的Python变量一样,创建列表时,也可以使用赋值运算符"="直接将一个列表赋值给变量。
- num=[7,14,21,28,35]
- python=["人生苦短","我用Python"]
(2)创建空列表。
在Python中,可以创建空列表,例如创建一个名称为 emptylist 的空列表。
- emptylist=[]
(3)创建数值列表。
在Python中,数值列表很常用。使用list()函数直接将range()函数循环出来的结果转换为列表。
list()函数的基本语法如下。
- list(data) #data表示可以转换为列表的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。
例如:创建一个10~20之间(不包括20)所用偶数的列表。
- print(list(range(10,20,2)))
11、删除列表:
对于已经创建的列表,不再使用时可以使用del语句将其删除。语法格式如下:
- del listname #listname为要删除列表的名称
12、访问列表元素:
在输出列表时,左右两边时带着中括号的,如果不想输出全部元素,可以通过列表的索引获取指定的元素。
13、输出今天是星期几。
- import datetime #导入时间日期类
- mot=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
- day=datetime.datetime.now().weekday() #获取当前星期
- print(mot[day]) #输出今天是星期几
在上面的代码中,datetime.datetime.now()方法用于获取当前日期,而weekday()方法则是从日期时间对象中获取日期,其值为 0~6 中的一个,
0 代表星期一,1 代表星期二,以此类推,6 代表星期日。
14、遍历列表:
遍历列表中的所有元素是常用的一种操作,在遍历的过程中可以完成查询、处理等功能。
(1)直接使用for循环实现:
直接使用for循环遍历列表,只能输出元素的值。语法格式如下。
- for item in listname:
- #输出item
item用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可;
listname为列表名称。
- team=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
- for item in team:
- print(item)
(2)使用for循环和enumerate()函数实现
使用for循环和enumerate()函数可以实现同时输出索引值和元素内容,语法格式如下。
- for index,item in enumerate(listname)
- #输出index和item
#index:用于保存元素的索引。
#item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可。
#listname 为列表名称。
- team=["火箭","勇士","开拓者","爵士","马刺","雷霆"]
- for index,item in enumerate(team):
- print(index+1,item)
15、添加元素:
添加、修改和删除元素也称为更新列表,在实际开发时,经常需要对列表进行更新。
(1)添加元素:
- listname.append(obj)
- #listname为要添加元素的列表名称,obj为要添加到列表末尾的对象。
(2)向一个列表中追加另一个列表中的元素。
- listname.extend(seq)
- #listname为原列表
- #seq为要添加的列表
- #执行语句后,seq的内容将追加到listname后面。
16、修改元素:
修改列表中的元素只需要通过索引获取该元素,然后再为其重新赋值即可。
17、删除元素:
删除元素主要有两种情况,一种是根据索引删除,另一种是根据元素值进行删除。
(1)根据索引删除:
删除列表中的指定元素和删除列表类似,也可以使用del语句实现,所不同的就是在指定列表名称时,换为列表元素。
- team=["科比","邓肯","加内特"]
- del team[-1] #删除team列表中,倒数第一个元素。
- print(team)
(2)根据元素值删除:
- team=["科比","邓肯","加内特"]
- team.remove("加内特") #根据元素值进行删除。
- print(team)
在使用remove()方法删除元素前,最好先判断该元素是否存在。
- team=["科比","邓肯","加内特"]
- value="詹姆斯" #指定要删除的元素
- if team.count(value)>0: #判断要删除的元素是否存在
- team.remove(value) #如果存在移除指定的元素
- print(team)
列表对象的count()方法用于判断指定元素出现的次数,返回结果为 0 时,表示不存在该元素。
18、对列表进行统计和计算:
- listname.count(obj)
- #listname 表示列表的名称
- #obj 表示要判断是否存在的对象
- #返回值 元素在列表中出现的次数
- team=["湖人","快船","开拓者","湖人","雷霆"]
- sum=team.count("湖人")
- print(sum)
19、统计数值列表的元素和:
在Python中使用sum()函数用于统计数值列表中各元素的和。语法格式如下。
- sum(iterable[,start])
#iterable 表示要统计的列表
#start 表示统计结果是从哪个数开始(即将统计结果加上start所指定的数),是可选参数,如果没有指定,默认值为0。
- 统计总成绩:
- grade=[76,43,85,45,87,98]
- total=sum(grade)
- print(total)
人生苦短,我用Python(2)的更多相关文章
- 人生苦短,我用Python(1)
一.人生苦短,我用Python 在文章的开头给大家介绍一下Python语言,作者Guido von Rossum.对,就是图中的“人生苦短我用Python”那哥们.你可能以为我会用很多文字介绍Pyth ...
- 人生苦短之---认识Python
认识 Python 人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 为什么要用 Python? Python 的特点 Py ...
- 初学者路径规划 | 人生苦短我用Python
纵观编程趋势 人生苦短,我用Python,比起C语言.C#.C++和JAVA这些编程语言相对容易很多.Python非常适合用来入门.有人预言,Python会成为继C++和Java之后的第三个主流编程语 ...
- 人生苦短我用Python 第三周 函数周
函数的定义: 1,def 函数名(参数1,参数2......): "注释:函数的作用和参数,增加可读性", 2,函数体 3,返回值 最简单的函数: def func(): prin ...
- 人生苦短,我用python(目录)
一.python基础篇 python中闭包及延时绑定问题 python中的装饰器.生成器 二.前端 bootstrap框架 BOM&DOM JavaScript中的词法分析 三.数据库 mys ...
- 人生苦短,我用python
星空不问赶路人,时光不负有心人,你可以脱变. 1.计算机的初步认识 2.解释器的安装 python2.7(2020年官方不在维护) python3.6 (官方推荐) 1.下载安装包 https://w ...
- 深度学习之美(张玉宏)——第四章 人生苦短我用python
1 函数参数 (1)收集参数:以一个星号*加上形参名的方式,表示这个函数的实参个数不定,可能0个可能n个. def varParaFun(name,*param): print('位置参数是:',na ...
- 人生苦短我用Python,本文助你快速入门
目录 前言 Python基础 注释 变量 数据类型 浮点型 复数类型 字符串 布尔类型 类型转换 输入与输出 运算符 算术运算符 比较运算符 赋值运算符 逻辑运算符 if.while.for 容器 列 ...
- 人生苦短 我用Python 第二周的第一天 (数据类型)
数字: 整形 int 长整形(Python3里面把整形.长整形和到一起啦) 浮点型( float) 1.3 5.2 等等 科学技术发表示 1.3e-3=0.0013 e的代表10. bin是二 ...
- 一句话打印'*'图案(列表推导式, 人生苦短, 我用Python)
```python # coding=utf-8 print ('\n'.join(['*'*6 for i in range(4)])) # ****** # ****** # ****** # * ...
随机推荐
- 查看k8s中etcd数据
#查看etcd pod kubectl get pod -n kube-system | grep etcd #进入etcd pod kubectl exec -it -n kube-system e ...
- android 网络异步加载数据进度条
ProgressDialog progressDialog = null; public static final int MESSAGETYPE = 0; private void execute( ...
- Java 类、接口的API
本章节收集的类/接口API有: Object类,枚举,包装类,接口Comparable,类Arrays,Thread类,System类,Math,BigInteger,Random,日期时间,异常 O ...
- LESSON 4- Entropy and Asymptotic Equipartition Property
1. Entropy 2. 序列熵(无记忆,有记忆,马尔科夫) 3. Fixed-to-variable-length codes (给n个输出symbols进行变长 ...
- 100天搞定机器学习|Day57 Adaboost知识手册(理论篇)
Boosting算法 Boosting是一种用来提高弱分类器准确度的算法,是将"弱学习算法"提升为"强学习算法"的过程,主要思想是"三个臭皮匠顶个诸葛 ...
- Rust 入门 (四)
所有权是 rust 语言独有的特性,它保证了在没有垃圾回收机制下的内存安全,所以理解 rust 的所有权是很有必要的.接下来,我们来讨论所有权和它的几个特性:借用.切片和内存结构. 什么是所有权 Ru ...
- SpringBoot 整合mongoDB并自定义连接池
SpringBoot 整合mongoDB并自定义连接池 得力于SpringBoot的特性,整合mongoDB是很容易的,我们整合mongoDB的目的就是想用它给我们提供的mongoTemplate,它 ...
- 如何重置IE浏览器
1.退出所有程序,包括 Internet Explorer.单击“开始”.在“开始搜索”框中键入 inetcpl.cpl 命令,然后按回车键打开“Inetnet 选项”对话框. 2.单击“高级”选项卡 ...
- 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...
- 记录我的 python 学习历程-Day03 数据类型 str切片 for循环
一.啥是数据类型 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则它是分 ...