04-for循环的各个语句及list列表学习
→→博主新网站,点击跳转←←
04-for循环的各个语句及list列表学习
1. for循环
根据传入的序列进行循环,每次循环都会将序列中的一个元素引出成变量,序列变量完成,循环结束。
格式:
# 普通for循环
for <var> in <seq>: # var为变量,接收每次循环序列引出的元素;seq为序列
语句1 # 每次循环时执行的语句 # for-else语句格式:
for <var> in <seq>:
语句1
else:
语句2 # 当for循环正常结束,执行此语句,不包括break
2. range()函数
range函数根据所传参数来生成数列,可以被for循环使用
range函数也可以被其他函数调用,如list、tuple等
实例:
# for 循环调用
for i in range(-10,10,2): #生成一个从-10开始,步长为2,到10结束的数列,不包括10
print(i) # list函数调用
In [1]: list(range(10)) # 会生成一个从0到9的列表
Out[1]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3. 循环语句中的break、continue、pass
break: break语句用于终止当前的while或for循环,而且循环对应的else语句也不会被执行
continue: 用于跳过此次循环中后面的所有语句,继续下一轮循环
pass: 占位符,在循环中为空语句,不会做任何事,只是为了保证程序的完整性
break语句实例:
# 遍历字符串"sense",但只遍历到"n" # 1. for 循环
for i in "sense":
print(i)
if i == "n":
break # 2. while 循环
str1 = "sense"
index = 0
while True:
print(str1[index])
if str1[index] == "n":
break
index += 1 输出:
s
e
n
continue语句实例:
# 1. for循环 # 遍历字符串"sense",但要跳过"n"
for i in "sense":
if i == "n":
continue
print(i) 输出:
s
e
s
e # 2. while循环 # 打印1~5,但是不能包括3
num1 = 0
while num1 < 5:
num1 += 1
if num1 == 3:
continue
print(num1) 输出:
1
2
4
5
pass语句实例
for i in "sense":
if i == "n":
pass #照常运行,什么事都不做
print(i) 输出:
s
e
n
s
e
4. list列表
含义:将多个元素放到一个序列中存储;其元素在list中是有序的
特点:每个元素都有下标,方便获取;而且元素可以为不同类型
"""
创建列表的格式
格式:列表名 = [列表选项1, 列表选项2, ...., 列表选项n]
""" # 创建含有多种数据类型的列表
[1,"2",[1,2],True]
列表元素访问及二维列表(使用下标方法):
# 格式: 列表名[下标]
list1 = [1,2,3]
list1[1] #取第二个元素 # 二维列表,取其中的6
In [1]: twoList = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
In [2]: twoList[1][2]
Out[2]: 6
元素的替换:
# 将列表中的2替换成1
In [1]: list1 = [1,2,3]
In [2]: list1[1] = 1
In [3]: list1
Out[3]: [1, 1, 3]
列表组合与重复
# 列表重复
In [4]: list4 = [1, 2, 3]
In [5]: list5 = [4, 5, 6]
In [6]: list6 = list4+list5
In [7]: list6
Out[7]: [1, 2, 3, 4, 5, 6] # 列表重复
In [8]: list7 = [1,2,3]
In [9]: list8 = list7*3
In [10]: list8
Out[10]: [1, 2, 3, 1, 2, 3, 1, 2, 3]
成员运算符在列表中的使用及列表截取
# 成员运算符的使用
In [11]: list9 = [1,2,3,4,5]
In [12]: 2 in list9
Out[12]: True
In [13]: 6 not in list9
Out[13]: True # 列表截取,返回的时列表
In [18]: list10 = [1, 2, 3, 4, 5, 6, 7, 8]
In [19]: list10[3:6]
Out[19]: [4, 5, 6]
In [20]: list10[:]
Out[20]: [1, 2, 3, 4, 5, 6, 7, 8]
In [21]: list10[:-1]
Out[21]: [1, 2, 3, 4, 5, 6, 7]
In [22]: list10[::-1]
Out[22]: [8, 7, 6, 5, 4, 3, 2, 1]
列表方法(通用函数)
方法名 描述 len(list) 返回列表元素个数 max(list) 返回列表元素最大值 min(list) 返回列表元素最小值 list(seq) 将序列转换为list count(obj) 返回列表中元素出现的次数 纯列表方法
方法名 描述 append(obj) 在列表末尾添加一个元素 extend(obj) 在列表末尾一次性追加另一个列表的多个元素 insert(index,obj) 在下标处添加一个元素,不覆盖原数据,原数据往后顺延。 pop(index) 移除列表中指定下标处的元素,默认为最后一个 remove(obj) 按照元素名移除,移除列表中的某一个元素,匹配第一个 clear() 清除列表中的所有元素 index(obj,start,stop) 从列表中找出某个元素的下标,匹配第一个,可以指定范围 reverse() 将列表倒序 sort(reverse=False) 将列表元素按大小升序,reverse为False时为升序 copy() 深拷贝列表,拷贝后两列表互不干扰,浅拷贝直接使用赋值运算符即可
5. 列表生成式
- 使用python的内置功能来简单的创建出想要的list
# range: 生成指定范围内的list
In [2]: list(range(1,10))
Out[2]: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In [3]: list(range(1,10,2))
Out[3]: [1, 3, 5, 7, 9]
# 真正的列表生成式
# 取0到10
In [4]: [i for i in range(10)]
Out[4]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 取0~10之间能被2整除的数
In [5]: [i for i in range(10) if i % 2 == 0]
Out[5]: [0, 2, 4, 6, 8]
# 取0~10之间所有数的平方
In [6]: [i*i for i in range(10)]
Out[6]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# 取另一个列表中大于0的数
In [10]: list1 = [0, 2, -3, -4, 5]
In [11]: list2 = [i for i in list1 if i > 0]
In [12]: list2
Out[12]: [2, 5]
# 两个for循环
In [15]: [x+y for x in "ABC" for y in "XYZ"]
Out[15]: ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
# 根据ASCII值取a-z
In [23]: print([chr(x) for x in range(ord("a"),ord("z")+1)])
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
6. 实例演练
# 使用while删除列表中重复的数字3
numList = [1, 2, 3, 3, 3, 4, 5, 6, 2, 4, 3, 3, "3", '3']
num1 = 0
times = numList.count(3)
while num1 < times:
numList.remove(3)
num1 += 1
print(numList)
# 写一个随机点名册
04-for循环的各个语句及list列表学习的更多相关文章
- .NET基础 一步步 一幕幕[循环、逻辑语句块]
循环.逻辑语句块 好久不写博客了,断更了好几天了,从上周五到今天,从北京到上海,跨越了1213.0公里,从一个熟悉的城市到陌生的城市,还好本人适应力比较好,还有感谢小伙伴的接风咯,一切都不是事,好 ...
- 《Python基础教程(第二版)》学习笔记 -> 第五章 条件、循环 和 其他语句
条件和条件语句 下面的值在作为布尔表达式的时候,会被解释器看作假(False):False None 0 "" () [] {} 条件执行和if语句 ...
- 永久性for循环配合switch语句可以实现菜单功能
永久性for循环配合switch语句可以实现菜单功能总结:加入想要无条件地跳转到某条语句执行,用goto语句: 加入想要对某种条件进行判断,为真或为假分别执行不同的语句,用if语句 加入想要检测的条件 ...
- python学习笔记之四:条件,循环和其他语句
前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句. 一. print和import的更多信息 1.1 使用逗号输出 A.打印多个表达式,用逗号隔开,会 ...
- 【python学习笔记】5.条件、循环和其他语句
[python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块 impo ...
- shell 中的for、while循环及if语句
shell与其他语言一样也支持for.while循环 for循环的一般格式如下: #!/bin/sh for 变量 in 列表 do command command command ......... ...
- python学习笔记2_条件循环和其他语句
一.条件循环和其他语句 1.print和import的更多信息. 1.1.使用逗号输出 //print() 打印多个表达式是可行的,用逗号隔开. 在脚本中,两个print语句想在一行输出 ...
- python全栈开发知识点补充for else和while else如果不是除正常以外的其他方式退出循环,那么else语句就会被执行。
如果不是除正常以外的其他方式退出循环,那么else语句就会被执行. 也就是循环体内没有break语句.return语句.和其他异常语句的执行. for else >>> for ...
- python学习(五) 条件、循环和其他语句
第五章 条件.循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 >>> print('age',43,45) // 可以用逗号隔开 ...
随机推荐
- 响应式布局之 px、em、 rem
一.写在前面的话 作为一面前端开发者,对 px .em . rem 应该是再熟悉不过了,但大多数小伙伴应该都和我一样仅仅停留在了解的层面,并不是实质性的掌握它们.本文对三者进行了详细的总结和详细说明, ...
- HihoCoder第六周:01背包问题
01背包问题大二的时候就接触过了,几行关键代码自己也都看过很多遍了,但是很多代码一直都没能理解.所以今天拿表来好好地画一画,弄懂其中的动态规划究竟什么含义. 1038 : 01背包 时间限制:2000 ...
- 微服务框架中springboot启动的一个问题
微服务中,采用的是springboot构建单个项目,其中一个项目user启动过程中总是启动补起来,相关的地方都没有错,始终启动不起来,而且要命的是控制台不打印日志,日志级别是debug级别的,但是打印 ...
- Linux下的文件目录树结构
Linux下的文件目录及文件结构 一.文件和文件夹 在Linux系统下,一切皆是文件.就连Linux本身也是基于文件表示的操作系统. 1.文件:文件在Linux系统之下,一般分为两种:一是一般性文件, ...
- Struts+Hibernate+Spring面试题合集及答案(转)
Struts+Hibernate+Spring面试题合集及答案 Struts+Hibernate+Spring 面试题合集 1 1. Hibernate部分 2 1.1. Hibernate工作原理 ...
- bzoj 2451 Uyuw's Concert
裸的半平面交.感觉这些东西,纯属在考代码能力啊.. #include<cstdio> #include<algorithm> #include<cmath> #de ...
- Mysql 终端中文显示乱码
查看编码 show variables like 'char%'; 结果 +--------------------------+--------+ | Variable_name | Value | ...
- ES6 之 对象属性的可枚举性和遍历
1.Object.getOwnPropertyDescriptor() 解释:获取对对象属性的描述对象. let obj = { foo: 123 }; console.log(Object.getO ...
- 自定义spark UDAF
官网链接 样例代码: import java.util.ArrayList; import java.util.List; import org.apache.spark.sql.Dataset; i ...
- ACM-Maximum Tape Utilization Ratio
题目描述:Maximum Tape Utilization Ratio Tags: 贪婪策略 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上.程序i存放在磁带上的长度是li ,1 < ...