python第二章:列表(完结)什么是列表,修改添加删除元素,组织列表

本文介绍了Python中列表的基本概念与操作方法,包括创建、访问、修改列表元素,以及排序、反转等高级技巧,适合初学者快速掌握列表的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#第二章
#1:列表
#:列表是由一系列按特定顺序排列的元素组成,你可以创建包含字母表中所有的字母,数字0-9或所有家庭成员姓名的列表
#也可以将任何东西加入列表中,其中元素之间可以将任何东西加入列表中,其中的元素之间可以没有任何关系
#建议列表通常包含多个元素,给列表指定一个表示复数的名称(如lettles,digits,names)
#在python中,用方括号[] 来表示列表,并用逗号来分隔其中元素,下面是一个简单的示例,这个列表包含几种自行车
bicycles=['trek','cannondale','redline','specialized']
print(bicycles)
#鉴于这不是你要让用户看到的输出,下面来介绍如何访问到列表元素

#2:访问列表元素
#列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉python即可。
#要访问列表元素,可指出列表的名称,在指出元素的索引,并将其放在方括号内
#例如,下面的代码从列表bicycles中提取第一款自行车
bicycles=['trek','cannondale','redline','specialized']
print(bicycles[0].title())
#显示的输出为trek,你还可以使用title()来让元素'trek'的格式更整洁
#索引是从0开始 而不是从1开始。
#举例子,若想要访问上述列表中的redline,则print(bicycles[2])  以此类推
#若想要访问最后一个元素,则print([bicycles[-1]),访问倒数第二个元素为-2,以此类推

#3:使用列表中的各个值
#可像使用其他变量一样使用列表中的各个值。例如你可以使用拼接根据列表中的值来创建消息
bicycles=['trek','cennondale','redline','specialized']
message="my first bicycle was a"+bicycles[0]+"."
print(message.title())


#3:修改添加,和删除元素
#3-1:修改列表元素
#修改列表元素的语法与访问列表元素的语法类似,要修改列表元素,可指定列表名和要修改的元素的索引,在指定该元素的新值,下面举个例子,摩托车列表
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0]='motuoche'
print(motorcycles)
#你可以修改任意列表元素的值,而不仅仅是第一个元素的值

#3-2:在列表中添加元素
#  .append() 是添加新的元素,是附在列表的末尾,不影响列表中的其他元素,拿上面修改列表的代码演示一遍
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.append('chuanqi')
print(motorcycles)
#你也可以创建一个空的列表,然后利用多个.appled()来添加元素,组成一个新的列表

#3-3:在列表中插入元素
#使用方法 insert() 可在列表的任意位置添加新的元素,为此你需要指定新元素的索引和值
#下面举个例子
motorcycles=['honda','yamaha','suzuki']
motorcycles.insert(0,'sanlunmotuo')
motorcycles.insert(2,'silunmotuo')
print(motorcycles)
#在这个实例中利用.insert() 添加了两个元素 分别为列表的第一个元素和第二个元素

#3-4:从列表中删除元素
# 使用del语句删除元素
#如果知道删除元素的位置,可使用del语句来进行删除,下面举个例子
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)
#使用del语句可删除列表中的任意元素 首先要知道该元素的位置

#4-5 使用pop()删除元素
#pop()可删除列表的末尾元素,并让你接着使用它,下面看示例
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
popped_motorcycles=motorcycles.pop()
print(motorcycles)
print(popped_motorcycles)
#上述删除方式pop(),是将删除的元素储存到一个新的变量popped_motorcycles里面,依然可以看到,

#假若上述摩托车列表是按照购买时间排序的,可以使用pop()来打印一条购买信息,示例如下
motorcycles=['honda','yamaha','suzuki']
goumai=motorcycles.pop()
print('这辆名叫'+'goumai'.title()+'的摩托是我最近购买的!')
#上述打印出来的消息利用了pop()删除方式获取的信息,然后拼接的一条购买信息,而且还利用了元素的首字符大写 .title()
#重要一点,利用pop()删除元素,必须储存到一个新的变量中
#重点,利用pop()可以删除列表中的任意元素,只需将待删除的元素位置填写到括号中即可,如果pop()括号中不填写任何东西,将会默认删除列表中最后一位元素
#下面举例删除第一位元素,并且利用所学过的拼接方法,来打印一条购买信息
motorcycles=['honda','yamaha','suzuki']
goumai1=motorcycles.pop(0)
print('这辆摩托车名叫'+goumai1.title()+'.'+'是我购买的第一辆摩托车!')
#注意  使用pop()删除元素后,该元素就不在此列表中了
#如果你不确定删除元素该使用pop(),还是del,就用这个判断,如果你要删除一个元素不再用任何方式使用它用del,如果在列表中删除元素后使用其他方式使用该元素用pop()

#根据值删除元素
#有时候你需要删除一个元素,但你不知道该元素位置的值,知道要删除元素的名,可以利用.remove()
#下面来举个列子,依旧使用上面的摩托车列表
#利用remove()根据值删除元素,只需将remove()写在需要删除列表的变量名后面,然后括号写上要删除元素
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.remove('yamaha')
print(motorcycles)
#使用remove()删除值元素时,也可接着使用它的值。下面删除一个元素,并且写上删除它的原因,并且打印出来
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
shanchu=('yamaha')
motorcycles.remove('yamaha')
print('删除'+shanchu.title()+'的原因是,雅马哈是日本品牌摩托车。')
#在利用remove()删除元素,并且利用他组建一条新的消息,必须将删除的元素赋予一个新的变量名,然后在利用remove()在待删除元素列表中删除,然后利用删除的元素用print()组建一条新的消息
#注意remove只能删除列表中一个元素,若一个列表中出现多个该元素 需要使用循环来判断是否删除了所有这样的值,循环会在后面写出

#  组织列表
# 1:使用方法 sort()对列表永久性排序
# 创建一个汽车列表,并让其中的汽车按照字母顺序排列,假设该列表中所有值都是小写
cars=['bmw','daben','aodi','lafa']
cars.sort()
print(cars)
# 现在已经将汽车列表中的所有汽车按照字母顺序排列,并且再也无法恢复到原来的顺序
# 你还可以按照与字母顺序相反的顺序排列列表元素,为此 只需向sort()方法传递参数 reverse=true 看下面例子
cars=['bmw','daben','aodi','lafa']
cars.sort(reverse=True)
print(cars)
# 同样对列表元素排列顺序的修改是永久性的

# 使用函数sorted()对列表进行临时排序
# 要保留列表元素的排列顺序,同时以特定的顺序呈现他们,可使用函数sorted()
# 函数sorted()让你能够按特定顺序显示列表元素,同时不影响他们在列表中的原始顺序
# 尝试用汽车列表来调用函数sorted()来进行一个临时排序
cars=['bmw','daben','aodi','lafa']
print("原始汽车列表:")
print(cars)
print("\n根据函数sorted()进行一个临时的排序:")
print(sorted(cars))
print("\n再次打印恢复原始列表:")
print(cars)
# 调用函数sorted()后,列表元素列表的排序并没有改变,同时你也可以将列表元素进行一个字母倒序的排列方式
# 只需要将函数sorted(),括号中传递参数reverse=True
# 注意并非所有值都为小写时,按字母顺序排列列表会复杂一些,可以通过title()所有单词首字符大写,或者 upper()所有字符大写,lower()所有字符小写

# 倒着打印列表
# 要反转列表元素的排列顺序,可使用方法reverse(),假设汽车列表是按照汽车购买时间进行排列的,可轻松的按照相反的顺序排列其中的汽车
cars=['bmw','daben','aodi','lafa']
print(cars)
cars.reverse()
print(cars)
# 注意reverse(),并不是按照字母顺序反转,而是将列表中所有元素反转过来
# 方法reverse()永久性的修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需要对列表再次调用reverse()即可

# 确定列表的长度
# 使用函数len()可快速获悉列表的长度,在下面的示例中 列表包含四个元素,因此其长度为4
cars=['bmw','daben','aodi','lafa']
cars=len(cars)
print(cars)
# python计算列表长度数时从1开始,因此确定列表长度时,应该不会遇到差1的错误
1. 用户与身体信息管理模块 用户信息管理: 注册登录:支持手机号 / 邮箱注册,密码加密存储,提供第三方快捷登录(模拟) 个人资料:记录基本信息(姓名、年龄、性别、身高、体重、职业) 健康目标:用户设置目标(如 “减重 5kg”“增肌”“维持健康”)及期望周期 身体状态跟踪: 体重记录:定期录入体重数据,生成体重变化曲线(折线图) 身体指标:记录 BMI(自动计算)、体脂率(可选)、基础代谢率(根据身高体重估算) 健康状况:用户可写特殊情况(如糖尿病、过敏食物、素食偏好),系统据此调整推荐 2. 膳食记录与食物数据库模块 食物数据库: 基础信息:包含常见食物(如米饭、鸡蛋、牛肉)的名称、类别(主食 / 肉类 / 蔬菜等)、每份重量 营养成分:记录每 100g 食物的热量(kcal)、蛋白质、脂肪、碳水化合物、维生素、矿物质含量 数据库维护:管理员可添加新食物、更新营养数据,支持按名称 / 类别检索 膳食记录功能: 快速记录:用户选择食物、输入食用量(克 / 份),系统自动计算摄入的营养成分 餐次分类:按早餐 / 午餐 / 晚餐 / 加餐分类记录,支持上传餐食照片(可选) 批量操作:提供常见套餐模板(如 “三明治 + 牛奶”),一键添加到记录 历史记录:按日期查看过往膳食记录,支持编辑 / 删除错误记录 3. 营养分析模块 每日营养摄入分析: 核心指标计算:统计当日摄入的总热量、蛋白质 / 脂肪 / 碳水化合物占比(按每日推荐量对比) 微量营养素分析:检查维生素(如维生素 C、钙、铁)的摄入是否达标 平衡评估:生成 “营养平衡度” 评分(0-100 分),指出摄入过剩或足的营养素 趋势分析: 周 / 月营养趋势:用折线图展示近 7 天 / 30 天的热量、三大营养素摄入变化 对比分析:将实际摄入与推荐量对比(如 “蛋白质摄入仅达到推荐量的 70%”) 目标达成率:针对健
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值