【从零学习python 】19. 循环遍历列表和列表嵌套的应用

2024-02-29 20:01:19 浏览数 (1)

列表的循环遍历

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)

运行结果如下:

0 人点赞