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) // 可以用逗号隔开 ...
随机推荐
- c# quartz
quartz调度核心元素: Scheduler:任务调度器,是实际执行任务调度的控制器.在spring中通过SchedulerFactoryBean封装起来. Trigger:触发器,用于定义任务调度 ...
- Centos7安装Redis-单节点
1.安装 gcc 编译环境 由于 Redis 使用 C 语言开发,所以官网下载的源码需要进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装. [root@CentOS ~]# yu ...
- Kafka--生产者
一个应用程序在很多情况下需要往Kafka写入消息:记录用户的活动(用于审计和分析),记录度量指标,保存日志消息,记录智能家电的信息,与其他应用程序进行异步通信,缓冲即将写入到数据库的数据,等等. 多样 ...
- 编写程序,实现在带头结点的单链表L中删除一个最小值节点的算法。
算法复杂度0(n) #!/usr/bin/env python3 class LNode(object): def __init__(self, elem, next_=None): self.ele ...
- 聚类之高斯混合模型与EM算法
一.高斯混合模型概述 1.公式 高斯混合模型是指具有如下形式的概率分布模型: 其中,αk≥0,且∑αk=1,是每一个高斯分布的权重.Ø(y|θk)是第k个高斯分布的概率密度,被称为第k个分模型,参数为 ...
- Tomcat添加SSL安全认证
环境 Tomcat7.阿里SSL证书 server.xml <Connector port="443" protocol="org.apache.coyote.ht ...
- 15.swoole学习笔记--异步写入文件
<?php //异步写入文件 $content="hello world"; swoole_async_writefile('2.txt',$content,function ...
- 在各浏览器和各分辨率下如何让div内的table垂直水平居中?
本文主要针对需要全屏显示的系统页面内,因为系统经常会用到表格table布局,偶尔的table需要显示在div的正中间,所以鄙人特此总结下div内table的万千姿态. <!DOCTYPE htm ...
- Maven的安装和创建项目的过程
一.下载Maven包和配置环境变量 1.将下载好的maven包放到一个目录中:目录中不能有汉字和空格 2.配置环境变量 3.配置path路径 二.配置阿里云私服 1.找到setting目录,配置下载j ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-refresh
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...