while 循环语句完整性的结构
continue
跳出本次循环,本次循环中continue
后的字符串全部跳过,直接开始下一次循环
例如:
i = 0
while i < 5:
if i == 3:
continue
i +=1
print(i)
else:
print('while循环已正常结束')
结果:
1
2
4
while循环已正常结束
break
终止本次循环。
i = 0
while i < 5:
if i == 3:
break
i +=1
print(i)
else:
print('while循环已正常结束')
结果:
1
2
3
列表
列表属于Python中的一个用来存储对象
列表使用[]
来表示,用list表示类型
列表中所有的链接各个对象之间的逗号都必须为英文
例如:
a = ['孙悟空','猪八戒','白龙马']
访问方法:查看列表内某个指定内容
列表名[访问对象序号]
列表计算从左往右数是从0开始
从右往左数是从-1开始
例如:
a = 'abcdefgh'
print(a[1])
结果:
b
列表切片
列表名[开始位置:结束位置:步长]
- 拼接列表:
用+
将列表进行拼接:
例如:
a = [1,2,3]
b = [4,5,6]
print(a + b)
结果:
[1,2,3,4,5,6]
用*
将列表进行重复:
例如:
a = [1,2,3]*3
print(a)
结果:
[1,2,3,1,2,3,1,2,3]
乘以0或负数时清空列表
in
和not in
:
用来检查元素是否在列表中,返回的值是一个布尔值。
例如:
a = 'abcdefg'
print('a' in a)
结果:True
-
len()
:
检查列表中元素的个数 -
max()
检查列表中元素的最大值 -
min()
检查列表中元素的最小值 -
list.index(查找对象 [,start [,end]])
检查对象在指定列表中的位置;
若列表中没有这个对象,就会报错;
列表中没有find()
方法 -
list.count(查找对象)
检查指定元素在列表中出现的次数
例如:
a = [1,2,1,3]
print(a.count(1))
结果:
2
如果列表中有相同的元素时,不指定范围,只能找第一个,指定范围可以找到其它的元素的索引
修改列表
- 常规方法:
例如:
a = [1,2,3]
a[-1] = 4
print(a)
结果:
[1,2,4]
- 删除元素:
方法:del list[起始位置:结束位置]
例如:
a = [1,2,3]
del a[1:3]
print(a)
结果:
[1]
- 用序列替换字符串
例如:
a = [1,2,3]
a[1:3] = 4 #将4换成空字符串即表示删除
print(a)
结果:
[1,4]
用切片的方式替换列表时,所用于替换的数据必须也是一个序列,因此在
例子:
a = [1,2,3,4]
a[1:3] = '唐僧'
print(a)
结果:
[1,'唐','僧',4]
当设置了步长时,序列中元素的个数必须和切片中元素的个数保持一致
列表的方法
append()
向列表的最后添加一个元素
a = [1,2,3,4,'f']
a.append('x')
print(a)
[1,'b',3,'e','f','x']
insert(插入位置,插入元素)
向列表指定位置插入一个元素(不会删除原位置的元素)
a = [1,2,3,4,5]
a.insert(3,'x')
print(a)
[1,2,3,'x',4,5]
extend(iterable)
使用一个新的序列来扩展当前序列(它会将该序列的中元素添加到列表中) 参数需要传递一个序列
a = [1,2,3,4,5,6]
a.extend(a)
print(a)
[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
pop()
根据索引删除并返回指定元素
a = ['f', 'e', 'x', '3', 'b', '1']
a.pop(2)
'x'
remove()
删除指定元素
如果相同值的元素有多个,只会删除第一个
a = ['f','e',3,;'b',1]
a.remove(1)
print(a)
['f','e',3,'b']
注:用pop()
所删除的元素会被返回;但用remove()
删除的元素不会被返回
reverse()
翻转列表
属于函数的方法
a = [1,2,3,4,5]
a.reverse()
print(a)
[5,4,3,2,1]
- sort(key=None,reverse=False) 用来对列表中的元素进行排序 reverse:True反序;False 正序
a = [1,7,2,4,9,5]
a.sort()
print(a)
[1,2,4,5,7,9]
注:sort()是方法,而sorted()是函数,它们的作用是一样的,都是对列表排序的
a = [1,'b',3,'x','e','f']
sorted(a)
[1,3,'b','e','f','x']
for循环遍历
即通过for循环来遍历列表中的元素(指全部查看)
for循环不会改变原有的列表,因此拿到一个列表数据,需要先对其进行处理才能使用
for 变量 in 序列(遍历的规则):
代码块
注意: for循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素
for i in lst:
pass
range(开始位置,结束位置,步长)
如果是例如range(5)
等价于range(0,5)
;
stop: 计数到结束位置时结束,但计数时不会包括结束位置。
例如:
a = [1,2,3,4,5]
for i in a:
range(0,3)
print(i)
结果:
1
2
3
这其中变量的类型一定是range
作业
-
现在有 a = [1,2,3,4,5,6] 用多种方式实现列表的反转([6,5,4,3,2,1]) 并写出推导过程
-
给用户9次机会 猜1 - 10 个数字随机来猜数字,但结果是猜不中。
-
有两个列表 lst1 = [11, 22, 33] lst2 = [22, 33, 44]获取内容相同的元素
4.现在有8位老师,3个办公室,要求将8位老师随机的分配到三个办公室中
思路分析:采用隔板法,在8位老师中间插入两个隔板,则8位老师被分为3份,每一份对应一个办公室,这样完成分配。