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) // 可以用逗号隔开 ...
随机推荐
- 《机学一》特征工程1 ——文本处理:sklearn抽取、jieba中文分词、TF和IDF抽取
零.机器学习整个实现过程: 一.机器学习数据组成 特征值: 目标值: 二.特征工程和文本特征提取 1.概要: 1.特征工程是什么 2.特征工程的意义:直接影响预测结果 3.scikit-learn库 ...
- exec()函数问题
源代码: 在网上也搜索了答案 比较详细的答案是: <?php exec("lsof -i:80",$out,$status); 结果: var_dump($out); arr ...
- React 学习笔记(3) B站视频总结1
视频地址 项目基础 react-cli // 项目结构 src │ App.js # 应用根组件 │ index.js # 入口js ├─api ├─assets ├─components ├─con ...
- Python MongoDB 创建集合
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
- P1303 A*B Problem(高精度乘法)
P1303 A*B Problem 模拟就好了.\(c_ {i+j} +=a_i \times b_j\).时间复杂度 \(O(n*m)\) (FFT版可以做到 \(O((n+m)\log (n+m) ...
- laravel自动加载公共文件
1. 创建 functions.php 在 app/Common/(目录自己起名字)下新建一个文件 functions.php,在内部补充如下代码: <?php /** 数据返回 * 返回jso ...
- 从谷歌Pixel3不堆硬件看智能手机下一个十年将被AI制霸
别看现在的智能手机行业热闹异常--厂商混战.新品频出.噱头涌现,但能引领手机行业发展趋势的依旧是苹果和谷歌.如果说苹果的iPhone树立了一个个智能手机行业进化的标杆,那么谷歌其实就是在为安卓手机的发 ...
- Kmeans应用
1.思路 应用Kmeans聚类时,需要首先确定k值,如果k是未知的,需要先确定簇的数量.其方法可以使用拐点法.轮廓系数法(k>=2).间隔统计量法.若k是已知的,可以直接调用sklearn子模块 ...
- mysql+MHA高可用 (一主双从)
1.准备三台服务器 10.0.0.12 10.0.0.13 10.0.0.14 2.在三台服务器上执行操作 时间同步 [root@ c7m01 ~]# echo "*/5* * * * /u ...
- ABP .NET CORE 连接mysql
1.安装mysql程序集,在项目XXX.EntityFrameworkCore下面添加程序集 pomelo.entityframeworkcore.mysql pomelo.entityframewo ...