2021/3/12第六次python课(流程控制--循环控制 基本数据类型--列表)

一、循环控制

1.1 while循环语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
  • 语法:
    while 条件表达式 :
    代码块
    else:
    代码块

1.2 for循环语句(循环遍历)

for 变量 in 序列(遍历规则):
 代码块

  • 注意: for循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素
  • range(start, stop[, step])

1.3 break和continue

  • break 可以用来立即退出循环语句,包括else语句
  • continue 用来跳过当次循环

1.4 循环嵌套

Python 语言允许在一个循环体里面嵌入另一个循环
外层控制行,内层控制列

1.5 补充知识

while循环三要素
1.设定一个初始值
2对初始值进行条件判断,增加一个条件语句,对初始值进行一个条件表达式的限制
3.初始值的自增长

完整的while循环语句的语法:当while循环正常执行结束,else语句就会执行,否则就不会执行

二、list(列表)

2.1序列

2.1.1概念

  • 序列(有索引的数据结构)是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引
  • 数据结构指计算机中数据存储的方式

2.1.2序列的分类

  • 可变序列(序列中的元素可以改变):例如 列表(list)
  • 不可变序列(序列中的元素不能改变):例如 字符串(str)元组(tuple)

2.2列表

  • 列表是Python中的一个对象
  • 列表的作用
  • 列表中可以保存多个有序的数据
  • 列表是用来存储对象的对象(list是一个万能仓库,可以存任何种类的数据 (无存储限制))

2.3列表的使用

2.3.1“增”

  • a.append() 像列表的最后添加一个元素或序列
  • a.insert(arg1,arg2) 像列表指定位置插入一个元素或序列 参数1:要插入的位置 参数2:要插入的元素或序列
  • a.extend(iterable) 使用一个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递一个序列[与append()不同在于 extend()会把序列拆元素

2.3.2“查”即获取

1.切片 (从现有列表中获得一个子列表)可用于列表,字符串,元组
列表[起始 : 结束 : 步长] a[2:6:1]
详细描述切片用法:转自亮虎梦的博客

2.3.3“改”即重赋值

  • 通过切片来修改(起始就是给切片的内容重新赋值,但是赋值的内容必须是一个序列)
  • 当设置了步长时,序列中元素的个数必须和切片中元素的个数保持一致
  • 通过索引来修改

2.3.4“删”

  • a.pop() 根据索引删除并返回被删除的元素 list1.pop(3)
  • a.remove() 删除指定元素 (如果相同值的元素有多个,只会删除第一个)
  • 通过切片来删除元素
    • del list[起始 : 结束]
    • list = []

2.3.5“反转与排序”

  • a.reverse() 翻转列表
  • a.sort(key=None,reverse=False) 用来对列表中的元素进行排序 reverse:True反序;False 正序

2.4序列通用操作

• + 和 *
• + 可以将两个列表拼接成一个列表
• * 可以将列表重复指定的次数 (注意2个列表不能够做乘法,要和整数做乘法运算)
• in 和 not in
• in用来检查指定元素是否在列表当中
• not in 用来检查指定元素是否不在列表当中
• len() 获取列表中元素的个数
• max() 获取列表中最大值
• min() 获取列表中最小值
• list.index(x[, start[, end]])
  • 第一个参数 获取指定元素在列表中的位置
  • 第二个参数 表示查找的起始位置
  • 第三个参数 表示查找的结束位置
找不到则报错
补充:list.find(x) 只用于str 找不到返回-1
• list.count(x) 统计指定元素在列表中出现的个数

注:五大数据类型:字符串、列表、元组、字典、集合

附:第六讲作业

1.现在有 a = [1,2,3,4,5,6] 用多种方式实现列表的反转([6,5,4,3,2,1]) 并写出推导过程
2.有两个列表 lst1 = [11, 22, 33] lst2 = [22, 33, 44]获取内容相同的元素
1.1
a=[]
for i in range(1,7):
    a.append(i)

print(a)
print('反转后',a[::-1])

结果

[1, 2, 3, 4, 5, 6]
反转后 [6, 5, 4, 3, 2, 1]
1.2
a=[]
for i in range(1,7):
    a.append(i)

print(a)
a.sort(reverse=True)
print('反转后',a)
1.3
a=[]
for i in range(1,7):
    a.append(i)

print(a)
a.reverse()
print('反转后',a)

2
list1=[11,22,33]
list2=[22,33,44]

for i in list1:
    if i in list2:
        print(i,end=' ')

结果

22 33 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笔记本IT

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值