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

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

列表的循环遍历

1. 使用while循环

为了更有效率的输出列表的每个数据,可以使用循环来完成

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
length = len(namesList)  # 获取列表长度
i = 0
while i<length:
    print(namesList[i])
    i+=1

结果:

xiaoWang
xiaoZhang
xiaoHua

2. 使用for循环

while 循环是一种基本的遍历列表数据的方式,但是最常用也是最简单的方式是使用 for 循环

namesList = ['xiaoWang','xiaoZhang','xiaoHua']
for name in namesList:
    print(name)

结果:

xiaoWang
xiaoZhang
xiaoHua

3. 交换2个变量的值

使用中间变量

a = 4
b = 5
c = 0
c = a
a = b
b = c
print(a)
print(b)

练习

手动实现冒泡排序(难)

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循环的嵌套,列表也是支持嵌套的

一个列表中的元素又是一个列表,那么这就是列表的嵌套

此处重点掌握怎么操作被嵌套的列表

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位老师等待工位的分配,请编写程序,完成随机的分配

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)

运行结果如下:

相关文章
|
2天前
|
索引 Python
Python 中寻找列表最大值位置的方法
本文介绍了Python中找列表最大值及其位置的三种方法:1) 使用内置`max()`和`index()`函数;2) 通过循环遍历;3) 利用`enumerate()`函数和生成器表达式。每种方法均附有示例代码,其中`enumerate()`方法在保证效率的同时代码更简洁。
22 2
|
2天前
|
存储 运维 数据挖掘
Python列表中每个元素前面连续重复次数的数列统计
Python列表中每个元素前面连续重复次数的数列统计
11 1
|
2天前
|
存储 JSON 数据库
Python中列表数据的保存与读取:以txt文件为例
Python中列表数据的保存与读取:以txt文件为例
14 2
|
1天前
|
监控 调度 开发者
Python 中的异步编程:理解 asyncio 库的基本原理与应用
本文将深入探讨 Python 中的异步编程技术,重点介绍 asyncio 库的基本原理与应用。通过解释事件循环、协程和 Future 对象的概念,读者将能够理解异步编程的工作原理,并学会如何利用 asyncio 库提高程序的性能和效率。本文还将通过实际示例演示如何使用 asyncio 库来处理 I/O 密集型任务和 CPU 密集型任务,以及如何避免常见的陷阱和错误。
|
1天前
|
调度 UED Python
Python 中的异步编程:理解 asyncio 库的基本原理与应用
本文探讨了 Python 中的异步编程,重点介绍了 asyncio 库的基本原理与应用。通过分析事件循环、协程以及异步/await 关键字的作用机制,读者将能够深入理解异步编程的工作方式,并学会如何利用 asyncio 库构建高效的异步应用程序。同时,本文还介绍了一些实际案例,帮助读者更好地掌握 asyncio 库的实际应用。
|
2天前
|
API 调度 开发者
探索Python中的异步编程:从基础到高级应用
【5月更文挑战第15天】 在现代软件开发中,异步编程已成为提升应用程序性能和用户体验的关键。本文将深入探讨Python中的异步编程概念,包括其基本工作原理、关键技术以及高级应用场景。我们将通过实例代码演示如何有效利用Python的异步特性,从而帮助读者构建更加高效和响应迅速的软件解决方案。
|
2天前
|
Python
PyQt学习------PyQt自定义信号
PyQt学习------PyQt自定义信号
11 0
|
2天前
|
图形学 Python
pyqt的学习(三)----鼠标点击和按键处理
pyqt的学习(三)----鼠标点击和按键处理
10 1
|
2天前
|
NoSQL 数据库 Python
PyQt学习(二)-----图形的建立(柱状图,折线图,堆叠柱状图,饼图)
PyQt学习(二)-----图形的建立(柱状图,折线图,堆叠柱状图,饼图)
7 1
|
2天前
|
存储 机器学习/深度学习 数据可视化
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表
8 1