day06-循环和列表

  • day06-循环和列表
    • 1.for循环
    • 2.while循环
    • 3.获取元素
      • a.单个
      • b.切片
      • c.遍历

1.for循环

语法:

for 变量 in 序列:
循环体

说明
for - 关键字、固定写法
变量 - 变量名(已经定义过或者没有定义过的变量都可以)
in - 关键字、固定写法
序列 - 任何容器型数据类型的数据,例如:字符串,列表
: - 固定写法
循环体 - 结构上,和for保持一个缩进的一条或者多条语句(至少一条)
逻辑上,循环体就是需要重复执行的代码
执行过程:让变量依次去序列中取值,一个一个的取,取完为止,每取一个值就依次执行循环体。
for循环循环次数由序列中元素的个数决定。

练习:利用range创建以下几个等差数列

1.0、1、2、3…、55

2.所有两位数对应的等差数列:10~99

3.1、3、5、7、9

4.11、22、33、44

5.9、8、7、6、5、4、3、2、1、0

6.10、8、6、4

range(56)
range(10, 100)
range(1, 10, 2)
range(11, 45, 11)
range(9, -1, -1)
range(10, 3, 2)

2.while循环

while循环
语法:
while 条件语句:
循环体
执行过程:
不断判断条件是否为True,为True就执行循环体,直到条件语句的结果为False,整个循环结束

pw = '123123'
pw_is_not_right = True
while pw_is_not_right:a = input('请输入密码')if a == pw:print('密码正确')pw_is_not_right = Falseelse:print('密码错误,请重新输入')

for循环和while循环的选择:循环次数确定的时候用for,不确定用while

3.列表

1.系统类型,是容器型数据类型(同时保存多个数据);将[]作为容器的标志,里面多个元素(容器中每个独立的数据)用逗号隔开:[数据1,数据2,数据3,数据4]
2.列表是可变的(元素的个数和元素的值可变 - 支持删改操作)列表是有序(支持索引操作)

# 列表有序,所以顺序影响结果
print([10, 20, 30] == [20, 10, 30])  # False
# 集合无序,所以顺序不影响结果
print({10, 20, 30} == {20, 10, 30})  # True
# 列表的元素
list1 = [10, 1.23, True, None, 'abc', [1, 2]]
print(list1)
# 空列表
list2 = []
print(list2)

练习:求最高分和平均分

scores = [89, 59, 68, 37, 88, 65, 46]
# 平均分
print(sum(scores)/len(scores))# 最高分
print(max(scores))

3.获取元素

a.单个

1.语法:
列表[索引]
2.说明
a.列表 - 具体的一个列表或者保存列表的变量
b.[] - 固定写法
c.索引 - 又叫下标;索引指的是元素在有序序列中的位置信息
列表一旦确定了,那么列表中每个元素的索引就确定了
索引的确定方式:从前往后索引值从0开始不断加一;从后往前从-1开始往前不断减一

num = [90, 89, 77, 99, 50]
print(num[2], num[-3])
print([90, 89, 77, 99, 50][2])names = ['张三', '李四', '老王']
print(names[-1])scores = [99, 97, 95, 88, 80, 79, 73, 66, 62, 57, 40]
# 问题1.打印最高分
print(max(scores))
# 问题2.打印最低分
print(min(scores))
# 问题3.打印中位数
if len(scores) % 2 == 0:print((scores[len(scores) // 2], scores[len(scores) // 2 - 1])//2)
else:print(scores[(len(scores)-1)//2])

b.切片

完整语法:
列表[开始下标:结束下标:步长]

开始下标 - 确定从哪个位置开始获取
结束下标 - 确定结束的位置
步长 - 确定获取方向和取的时候怎么取
说明:
a.怎么确定切片的结果
第一步:看从开始下标到结束下标的方向和步长对应的方向是否一致(步长为正表示从前往后取,步长为负表示从后往前取)如果不一致结果一定是空列表
第二步:确定有效范围(开始下标对应的元素去得到,结束下标对应的元素取不到)
第三步:按照步长的方向和绝对值来获取元素
方向:为正在有效范围内从后往前取;为负在有效范围内从后往前取
绝对值:绝对值为1,1个1个的取,绝对值为2,取一个跳一个取一个;绝对值为3,取1个跳两个取1个
b.怎么写切片表达式获取到需要的数据

切片的省略写法:
a.省略步长:
列表[开始下标:结束下标]
省略步长就相当于步长为1
b.省略开始下标:
print(names(:-3:-1) - 如果步长为正从第一个元素开始,如果步长为负从最后一个元素开始
c.省略结束下标:列表[开始下标::步长] - 如果步长为正一直取到最后一个元素,如果步长为负一直取到第一个元素

names = ['光辉', '小法', '泽拉斯', ' 无极剑圣', '芈月', '龙龟', '牛头', '狗头', '鳄鱼', '猫咪']
print(names[0:-1:3])            # 光辉 无极剑圣 牛头
print(names[-2:1:2])            # []
print(names[3:9:-3])            # []
print(names[8:-9:-4])           # 鳄鱼 芈月
print(names[1:-2:3])            # 小法 芈月 狗头
# 1.['小法', '泽拉斯', '无极剑圣']
print(names[1:4:1])
# 2.['光辉', '泽拉斯', '芈月']
print(names[0:5:2])
# 3.['无极剑圣', '狗头']
print(names[3:-2:4])
# 4.['鳄鱼', '龙龟', '泽拉斯']
print(names[-2:1:-3])

c.遍历

方法1:直接获取元素
for 变量 in 列表:
循环体
方法2:先获取每个元素的下标,然后再根据下标获取元素
for 变量 in range(len(列表)):
循环体(变量是元素对应的下标)

day06-循环和列表相关推荐

  1. 完美解决小程序一维数组循环渲染列表不够用问题

    完美解决小程序一维数组循环渲染列表不够用问题 参考文章: (1)完美解决小程序一维数组循环渲染列表不够用问题 (2)https://www.cnblogs.com/jessical626/p/6363 ...

  2. python字典生成式_【IT专家】Python 简化for循环:列表,集合与字典生成式

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 Python 简化 for 循环:列表,集合与字典生成式 2018/03/06 28 # 使用列表生成选择特定的行 my_data = [[1,  ...

  3. js中while死循环语句_Java系列教程day06——循环语句

    day06--循环语句 提纲: 1.循环结构 2.while循环 3.do-while循环 4.for循环 5.break语句 6.continue语句 7.循环嵌套 8.作业 一.循环结构 1.1 ...

  4. MySQL存储过程使用游标循环数据列表

    本篇文章主要讲解,我的一个案例,使用存储过程和游标循环数据列表,并且做一些操作,比如保存一些数据,修改一些数据: 1.需求? MySQL使用存储过程循环数据列表? 2.先描述下MySQL有哪些循环的语 ...

  5. LeetCode 708. 循环有序列表的插入

    文章目录 1. 题目 2. 解题 1. 题目 给定循环升序列表中的一个点,写一个函数向这个列表中插入一个新元素,使这个列表仍然是循环升序的. 给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列 ...

  6. pythonfor循环列表排序_Python使用for循环对列表内元素进行排序方法

    这篇文章介绍Python使用for循环对列表内元素进行排序方法list = [13, 22, 6, 99, 11] for m in range(len(list)-1): for n in rang ...

  7. python for循环例子_Python for循环生成列表的实例

    Python for循环生成列表的实例 一般Python for语句前不加语句,但我在机器学习实战中看到了这两条语句: featList = [example[i] for example in da ...

  8. python: for循环时列表长度改变,会发生什么?

    for循环时列表长度改变,会发生什么? 以以下两种形式为例: # 第一种形式 for i in li: # 第二种形式 for i in range(len(li)) 先说结论: 无论是哪种遍历,都是 ...

  9. educoder 2-2Python 计算思维训练——循环与列表(二)

    目录 第3关:打印新的列表 第2关:循环与列表 - 精确华氏-摄氏温度转换表 第1关:循环与列表 - 近似华氏-摄氏温度转换表 第3关:打印新的列表 def Append(primes,p):#在此处 ...

  10. 【游戏开发实战】Unity循环复用列表,支持不规则尺寸(对象池 | UGUI | ScrollRect | Demo源码)

    文章目录 一.前言 二.使用方法 1.创建Scroll View 2.设置Scroll View参数 2.1.调整宽高 2.2.删除Scrollbar滑块 2.3.设置item模板: Item Tem ...

最新文章

  1. 一文详解NDT算法实现
  2. Keras搭建深度学习模型,指定使用GPU来进行模型的训练和测试
  3. 完成AOP 顶层设计-AopConfig
  4. Android Fragment 监听返回键
  5. Ice_cream's world I HDU - 2120(并查集判环)
  6. service get list一般规范
  7. MYSQL----(3)SQL 基本操作
  8. Linux下安装和卸载jdk步骤详述
  9. c语言计算器自动计算源代码,c语言计算器源代码
  10. 考勤机信息同步不到服务器,考勤机实时同步功能上线啦
  11. html中icon小图标大全,iconfont字体图标和各种CSS小图标
  12. 杰里695N系列(soundbox)之 1.0 SDK快速入门(1)
  13. 原神角色展示(HTML+CSS)
  14. strtok函数详解
  15. 商务网站建设与维护【6】
  16. Tablestore结合Spark的流批一体SQL实战
  17. sawyer机器人进入SDK模式
  18. 带娃学Scratch----初识Scratch
  19. JSON基础入门实战讲解在线视频课程-JSON 使用 JavaScript 语法
  20. Java技术本纪(2005.08.18 来自:《程序员》杂志)

热门文章

  1. 一般本科院校毕业论文要求
  2. Pytorch学习笔记——Contiguous vs non-contiguous tensor
  3. DBeaver Enterprise 21.3 企业版使用方法
  4. python实现周末舞会问题
  5. CSS中overflow属性介绍
  6. 记录NUC 12蝰蛇峡谷Ubuntu装机+外置egpu
  7. Python语言特点
  8. C语言实现逆序数线性代数,线性代数之求逆序数
  9. 1.9 深入理解Vold和Rild
  10. idea 缺失右侧maven窗口