列表的循环遍历
1. 使用while循环
为了更有效率的输出列表的每个数据,可以使用循环来完成
代码语言:javascript复制namesList = ['xiaoWang','xiaoZhang','xiaoHua']
length = len(namesList) # 获取列表长度
i = 0
while i<length:
print(namesList[i])
i =1
结果:
代码语言:javascript复制xiaoWang
xiaoZhang
xiaoHua
2. 使用for循环
while 循环是一种基本的遍历列表数据的方式,但是最常用也是最简单的方式是使用 for 循环
代码语言:javascript复制namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
print(name)
结果:
代码语言:javascript复制xiaoWang
xiaoZhang
xiaoHua
3. 交换2个变量的值
使用中间变量
代码语言:javascript复制a = 4
b = 5
c = 0
c = a
a = b
b = c
print(a)
print(b)
代码语言:javascript复制练习
手动实现冒泡排序(难)
nums = [5, 1, 7, 6, 8, 2, 4, 3]
for j in range(0, len(nums) - 1):
for i in range(0, len(nums) - 1 - j):
if nums[i] > nums[i 1]:
a = nums[i]
nums[i] = nums[i 1]
nums[i 1] = a
print(nums)
有一个列表names,保存了一组姓名names=[‘zhangsan’,‘lisi’,‘chris’,‘jerry’,‘henry’],再让用户输入一个姓名,如果这个姓名在列表里存在,提示用户姓名已存在;如果这个姓名在列表里不存在,就将这个姓名添加到列表里。
1. 列表嵌套
类似while循环的嵌套,列表也是支持嵌套的
一个列表中的元素又是一个列表,那么这就是列表的嵌套
此处重点掌握怎么操作被嵌套的列表
代码语言:javascript复制schoolNames = [
[1, 2, 3],
[11, 22, 33],
[111, 222, 333]
]
schoolNames[1][2] # 获取数字 33
schoolNames[1][2] = 'abc' # 把 33 修改为 'abc'
schoolNames[1][2][2] # 获取 'abc' 里的字符c
也就是说,操作嵌套列表,只要把要操作元素的下标当作变量名来使用即可。
2. 应用
一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配
代码语言:javascript复制import random
# 定义一个列表用来保存3个办公室
offices = [[],[],[]]
# 定义一个列表用来存储8位老师的名字
names = ['A','B','C','D','E','F','G','H']
i = 0
for name in names:
index = random.randint(0,2)
offices[index].append(name)
i = 1
for tempNames in offices:
print('办公室%d的人数为:%d'%(i,len(tempNames)))
i =1
for name in tempNames:
print("%s"%name,end='')
print("n")
print("-"*20)
运行结果如下: