Python基础 2-2 列表的实际应用场景
引言
本章主要介绍列表在实际应用中的使用场景,多维列表(嵌套列表)
如果你需要在列表保存每个人员的一些基本信息,使用列表嵌套来保存这种信息是个不错的主意。
多维列表
列表可以根据实际情况嵌套使用,比如你想保存两个人的信息,可使用如下方式
[ ['人员1' , '年龄' , '工资'] , [人员2] , [年龄] ,[工资] ... ]
以上多维列表可以很方便的保存每个人的信息,每个索引号对应一个人
嵌套列表使用
将用户录入的字符串信息以特定格式分割成列表保存起来,嵌套到人员列表中
- 定义一个存放人员信息的列表
emp_lost = []
- 使用
split()将字符串分割成列表存到人员列表中
emp_list = [] # 存放人员信息列表
info = input("请录入员工信息(逗号分隔):") # 用户输入字符串
info_list = info.split(",") # 将字符创分隔成列表
emp_list.append(info_list) # 将列表追加到人员列表
print(emp_list) # 打印人员列表
# 运行结果:
'''
请录入员工信息(逗号分隔):张三,22,6000
[['张三', '22', '6000']]
'''
现在已经可以使用嵌套列表了,但实际情况往往不止录入一组员工信息,可能是N组
录入多组人员信息
让用户可以录入多组人员信息
使用循环
emp_list = []
while True: # while 条件为 True 时会一直执行(死循环)
info = input("请录入员工信息(逗号分隔):")
if info == "": # 判断是否录入信息
print("没有录入信息,程序退出") # 给用户提示
break # 中断退出循环
# 如果用户录入信息,继续执行以下代码
info_list = info.split(",") # 将用户录入的字符串按照逗号分割成列表
emp_list.append(info_list) # 把员工信息存入到列表中
print(emp_list) # 打印人员列表
# 运行结果:
'''
请录入员工信息(逗号分隔):张三,22,5000
请录入员工信息(逗号分隔):李四,23,6000
请录入员工信息(逗号分隔):王五,24,7000
请录入员工信息(逗号分隔):
没有录入信息,程序退出
[['张三', '22', '5000'], ['李四', '23', '6000'], ['王五', '24', '7000']]
'''
以上示例已经可以让用户一直录入员工信息了,但是却不是完善的,因为用户可以随便录入几个信息都行,即使只录入一个名称也保存
判断录入格式
这里假设用户需要录入三个信息才是格式正确,“姓名、年龄、工资”
如果录入少了或超过了都是不正确的格式
emp_list = []
while True:
info = input("请录入员工信息(逗号分隔):")
if info == "":
print("没有录入信息,程序退出")
break
info_list = info.split(",")
if len(info_list) != 3: # 判断录入信息是否为三个元素
print("录入格式不正确,请重新录入!") # 提示格式不正确
continue # 跳过以下代码,重新执行循环
emp_list.append(info_list)
print(emp_list) # 退出打印员工列表
# 运行结果:
'''
请录入员工信息(逗号分隔):张三,22,5000
请录入员工信息(逗号分隔):李四,23
录入格式不正确,请重新录入!
请录入员工信息(逗号分隔):李四,23,6000
请录入员工信息(逗号分隔):
没有录入信息,程序退出
[['张三', '22', '5000'], ['李四', '23', '6000']]
'''
以上示例控制了用户输入的格式
格式化输出
以上示例中已经可以成功录入信息并且有控制用户录入的地方了,但是输出的格式却不尽人意,下面就解决这个问题
emp_list = []
while True:
info = input("请录入员工信息(逗号分隔):")
if info == "":
print("没有录入信息,程序退出")
break
info_list = info.split(",")
if len(info_list) != 3:
print("录入格式不正确,请重新录入!")
continue
emp_list.append(info_list)
for emp in emp_list:
emp_info = "姓名:{n} \t 年龄:{a} \t 工资:{s}".format( n=emp[0] , a=emp[1] , s=emp[2]) # 将格式化的信息保存到 emp_info 变量中
print(emp_info) # 打印格式化后的人员信息
# 运行结果:
'''
请录入员工信息(逗号分隔):张三,22,5000
请录入员工信息(逗号分隔):李四,23,6000
请录入员工信息(逗号分隔):王五,24,7000
请录入员工信息(逗号分隔):
没有录入信息,程序退出
姓名:张三 年龄:22 工资:5000
姓名:李四 年龄:23 工资:6000
姓名:王五 年龄:24 工资:7000
'''
本次演示程序的完整代码
上面使用到的 format() 方法为格式化函数,官方文档:
https://docs.python.org/3/library/string.html#formatstrings
Python基础 2-2 列表的实际应用场景的更多相关文章
- 『Python基础-8』列表
『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- .Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...
- Python基础学习Day4 列表的使用方法、range 用法、in用法
一.列表 1.1列表:python基础数据类型之一:其他语言也有列表的概念,js 数组,可索引 ,可切片,可加步长 1.2列表的索引,切片,切片+ 步长 结果: 注意:列表里元素的数据类型,就是它本身 ...
- python基础之02列表/元组/字典/set集合
python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...
- 2015/9/1 Python基础(6):列表
列表和字符串类型很相似,是同样的序列式数据类型.但是字符串只能由字符组成,列表可以保留任意数目的Python对象的灵活的容器.Python的列表比C的数组要灵活,数组里面只能是一种类型,列表可以有多种 ...
- Python基础数据类型之列表和元组
一.列表 list 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li ...
- python基础数据类型--list列表
列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex ...
- Python基础-元组、列表、字典
元组tuple 元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组.例:(1,2,3)("a","b","c&q ...
- python 基础篇 04(列表 元组 常规操作)
本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...
- python基础学习笔记——列表及元组
列表 列表的介绍 列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 列表的索引和切片 列表和字符串一样也拥有索引: lst = ['刘德华','周润发','周杰伦','向华强 ...
随机推荐
- C#读取Modbus数据
最近在做采集的一些任务所以学了一下Modbus通信,学了好几天昨天终于把大概弄明白了,其实简单来说就是客户端向设备发送一个请求报文请求数据,服务器端根据请求报文向客户端端回发一个报文,客户端在接收到响 ...
- 一文彻底搞懂Java中的环境变量
一文搞懂Java环境变量 记得刚接触Java,第一件事就是配环境变量,作为一个初学者,只知道环境变量怎样配,在加上各种IDE使我们能方便的开发,而忽略了其本质的东西,只知其然不知其所以然,随着不断的深 ...
- PHP与ECMAScript_7_流程控制
PHP ECMAScript 顺序结构 默认从上到下依次执行 默认从上到下依次执行 分支结构 if / switch if / switch 循环结构 for / while / do-w ...
- ubuntu 下常用的mysql 命令
一.mysql服务操作 0.查看数据库版本 sql-> status; 1.net start mysql //启动mysql服务 2.net stop mysql //停止mysql服务 ...
- Python实现网络多人聊天室
网络多人聊天室 文件结构: chatroom ├── client.py # 客户端代码 ├── language.py # 语言文件 ├── server.py # 服务端代码 └── set ...
- Java 获取操作系统相关的内容
package com.hikvision.discsetup.util; import java.lang.reflect.Field; import java.net.InetAddress; i ...
- 关于ajax异步请求的一个细节问题
首先描述一下问题场景:我们正在做一个汽车出租项目,使用maven+ssm+easyui来完成,这个问题是在做汽车办理出租业务的时候出现的. 问题描述:在使用ajax发送异步请求时,遇到一个问题,就是在 ...
- CSS等分布局方法
原文链接:http://caibaojian.com/css-equal-layout.html CSS等比例划分,在CSS布局中是比较重要的,下面分享几种常用方法和探讨一下兼容性. 一:浮动布局+百 ...
- JavaWeb——Servlet开发2
1.HttpServletRequest的使用 获取Request的参数的方法. 方法getParameter将返回参数的单个值 方法getParameterValues将返回参数的值的数组 方法ge ...
- Mysql 局域网连接设置——Windows
在公司工作中,会遇到mysql数据库存储于某个人的电脑上,大家要想连接mysql服务,装有mysql服务的电脑就必须开启远程连接. 其实不仅仅是局域网,只要你有数据库所在服务器的公网IP地址都能连上. ...