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) // 可以用逗号隔开 ...
随机推荐
- python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)
//2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...
- python三大神器===》装饰器
1.认识装饰器 如果你经常看我的博客,你已经学会了python的前两大‘神器’(迭代器,生成器),那么什么是装饰器呢?就如字面意义装饰器是对某个事物(通常指函数)进行装饰,让其在不修改任何内部代码的情 ...
- checkbox checked属性值
记住我1<input type='checkbox' /> 记住我2<input type='checkbox' /> <button onclick='hehe();' ...
- 51nod 1293:球与切换器
1293 球与切换器 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 取消关注 有N行M列的正方形盒子.每个盒子有三种状态0 ...
- Linux下部署开源版“禅道”项目管理系统《转载》
Linux下部署开源版“禅道”项目管理系统 https://www.cnblogs.com/xxsl/p/6525378.html
- TensorFlow中的L2正则化函数:tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()的用法与异同
tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()都是TensorFlow中的L2正则化函数,tf.contrib.layers.l2_regula ...
- AFNetworking实现表单(multipart)形式上传图片
最近遇到个问题,就是上传图片到服务器,后台说用表单形式... 由于没弄过这种上传,所以搜了大堆资料,但也没解决问题. 最后通过请教一位大神才得以解决这个简单的问题... 现在将此方法做个笔记... & ...
- HDU_4965 Fast Matrix Calculation 2014多校9 矩阵快速幂+机智的矩阵结合律
一开始看这个题目以为是个裸的矩阵快速幂的题目, 后来发现会超时,超就超在 M = C^(N*N). 这个操作,而C本身是个N*N的矩阵,N最大为1000. 但是这里有个巧妙的地方就是 C的来源其实 ...
- 修改电脑IP地址和MAC地址
一.修改IP地址: 电脑右下角:上网的图标,点击右键,打开“网络和共享中心”, 点击“本地连接”,打开的窗口点击“属性”, 打开新窗口,找到“IPv4”,点击“属性”, 打开新窗口,修改ip,保存,关 ...
- hdu 2578 Dating with girls(1) 满足条件x+y=k的x,y有几组
Dating with girls(1) Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...