《python从入门到项目实践》第六章 列表和元组 //有一个课后答案
目录
序列
切片
乘法
检查 in
序列有关函数
列表
遍历列表
添加、修改和删除列表元素
列表统计 次数、下标、求和
排序 sort()
生成列表 /列表推导式
元组 tuple
推导式与列表不同
python中常用5中序列结构:
列表、元组、集合、字典、字符串。
序列
切片
访问元素的一个方法
sname[start:end:step]
包括开始位置,不包括end位置,step默认为1
nba = ["迈克尔•乔丹","比尔•拉塞尔","卡里姆阿卜杜勒•贾巴尔","威尔特•张伯伦","埃尔文•约翰逊","科比•布莱恩特","蒂姆•邓肯","勒布朗•詹姆斯","拉里•伯德","沙奎尔•奥尼尔"]
print(nba[1:5]) # 获取第2个到第5个元素
print(nba[0:5:2]) # 获取第1个、第3个和第5个元素
['比尔•拉塞尔', '卡里姆阿卜杜勒•贾巴尔', '威尔特•张伯伦', '埃尔文•约翰逊']
['迈克尔•乔丹', '卡里姆阿卜杜勒•贾巴尔', '埃尔文•约翰逊']
nba[:]或者nba表示输出所有。
相同类型序列可以直接相加 + ,,,但是不能是列表加元素
num = [7,14,21,28,35,42,49,56]
nba = ["史蒂芬•库里","克莱•汤普森","马努•吉诺比利","凯文•杜兰特"]
print(num + nba)
[7, 14, 21, 28, 35, 42, 49, 56, '史蒂芬•库里', '克莱•汤普森', '马努•吉诺比利', '凯文•杜兰特']
num+“开心就好” 这是错误的
乘法
就是重复n遍,也可以用来创建指定长度列表
phone = ["huawei","xiaomi","iphone"]
print(phone*3)emptylist = [None]*5
print(emptylist)
['huawei', 'xiaomi', 'iphone', 'huawei', 'xiaomi', 'iphone', 'huawei', 'xiaomi', 'iphone']
[None, None, None, None, None]
检查 in
phone = ["huawei","xiaomi","iphone"]
print(phone)
print("huawei" in phone)
['huawei', 'xiaomi', 'iphone']
True
序列有关函数
len(listname):返回列表长度
min(listname):返回列表最小元素
max(listname):返回列表最大元素
sum():求和
sorted():排序
list():将序列转为列表
str():将序列转为字符串
reversed():反向序列中的元素
enumerate():将序列组合为一个索引序列,多用在for循环中
--------------------------------------------------------------------------------------
列表
del listname :删除列表
遍历列表
for item in listname#输出 item
for index,item in enumerate(listname):#输出index 与 item
print("2018年俄罗斯世界杯四强:")
team = ["法国","比利时","英格兰","克罗地亚"]
for index,item in enumerate(team):print(index + 1,item)
2018年俄罗斯世界杯四强:
1 法国
2 比利时
3 英格兰
4 克罗地亚
添加、修改和删除列表元素
添加 insert()与append()
phone = ["摩托罗拉","诺基亚","三星","OPPO"]
print(len(phone)) # 获取列表的长度
phone.append("iPhone")
print(len(phone)) # 获取列表的长度
print(phone)
4
5
['摩托罗拉', '诺基亚', '三星', 'OPPO', 'iPhone']
phone = ["摩托罗拉","诺基亚","三星","OPPO"]
print(len(phone)) # 获取列表的长度
phone.insert(2,"iPhone")
print(len(phone)) # 获取列表的长度
print(phone)
4
5
['摩托罗拉', '诺基亚', 'iPhone', '三星', 'OPPO']
修改元素
verse = ["德国队小组赛回家","西班牙传控打法还有未来吗","C罗一人对抗西班牙队"]
print(verse)
verse[2] = "梅西、C罗相约回家" # 修改列表的第3个元素
print(verse)
['德国队小组赛回家', '西班牙传控打法还有未来吗', 'C罗一人对抗西班牙队']
['德国队小组赛回家', '西班牙传控打法还有未来吗', '梅西、C罗相约回家']
删除元素 del remove
verse = ["德国队小组赛回家","西班牙传控打法还有未来吗","C罗一人对抗西班牙队"]
del verse[-1]
print(verse)
['德国队小组赛回家', '西班牙传控打法还有未来吗']
name.remove(obj) 删除指定元素
列表统计 次数、下标、求和
listname.count(obj)
listname.index(obj) obj首次出现的下标,不存在则抛出异常
sum(iterable[,start]) 求和 iterable表示要求和的列表
grade = [98,99,97,100,100,96,94,89,95,100] # 10名学生语文成绩列表
total = sum(grade) # 计算总成绩
print("Python理论总成绩为:",total)
Python理论总成绩为: 968
grade = [98,99,97,100,100,96,94,89,95,100] # 10名学生语文成绩列表
total = sum(grade,10)
print("Python理论总成绩为:",total)
Python理论总成绩为: 978
grade = [98,99,97,100,100,96,94,89,95,100] # 10名学生语文成绩列表
total = sum(grade[0:1],10)
print("Python理论总成绩为:",total)
Python理论总成绩为: 108
排序 sort()
与sorted()有区别,sorted()会建立一个副本
listname.sort(key=None, reverse=False)
key 表示指定一个从每个列表元素中提取一个用于比较的键(key=str.lower 表示在排序是不区分字母大小写)
False表示升序,True表示降序
grade = [98,99,97,100,100,96,94,89,95,100] # 10名学生Python理论成绩列表
print("原列表:",grade)
grade.sort() # 进行升序排列
print("升 序:",grade)
grade.sort(reverse=True) # 进行降序排列
print("降 序:",grade)
原列表: [98, 99, 97, 100, 100, 96, 94, 89, 95, 100]
升 序: [89, 94, 95, 96, 97, 98, 99, 100, 100, 100]
降 序: [100, 100, 100, 99, 98, 97, 96, 95, 94, 89]
生成列表 /列表推导式
import random #导入random标准库
randomnumber = [random.randint(10,100) for i in range(10)]
print("生成的随机数为:",randomnumber)
price = [1200,5330,2988,6200,1998,8888]
sale = [int(x*0.5) for x in price]
print("原价格:",price)
print("打五折的价格:",sale)
price = [1200,5330,2988,6200,1998,8888]
sale = [x for x in price if x>5000]
print("原列表:",price)
print("价格高于5000的:",sale)
生成的随机数为: [73, 82, 43, 31, 40, 60, 83, 29, 41, 75]
原价格: [1200, 5330, 2988, 6200, 1998, 8888]
打五折的价格: [600, 2665, 1494, 3100, 999, 4444]
原列表: [1200, 5330, 2988, 6200, 1998, 8888]
价格高于5000的: [5330, 6200, 8888]
元组 tuple
用括号(非必须) 包围,逗号分隔的元素
verse1 = ("世界杯冠军",)
print("verse1的类型为",type(verse1))
verse2 = ("世界杯冠军")
print("verse2的类型为",type(verse2))
verse1的类型为 <class 'tuple'>
verse2的类型为 <class 'str'>
创建元组
print(tuple(range(10,20,2)))
(10, 12, 14, 16, 18)
可以切片 可以用 for 遍历
推导式与列表不同
import random #导入random标准库
randomnumber = (random.randint(10,100) for i in range(10))
randomnumber = tuple(randomnumber) # 转换为元组
print("转换后:",randomnumber)
转换后: (75, 93, 65, 71, 58, 82, 49, 73, 71, 72)
number = (i for i in range(3))
print(number.__next__()) # 输出第1个元素
print(number.__next__()) # 输出第2个元素
print(number.__next__()) # 输出第3个元素
number = tuple(number) # 转换为元组
print("转换后:",number)
0
1
2
转换后: ()
number = (i for i in range(4)) # 生成生成器对象
for i in number: # 遍历生成器对象print(i,end=" ") # 输出每个元素的值
print(tuple(number)) # 转换为元组输出
0 1 2 3 ()
遍历后,原生成器对象已经不存在了!
********************************************************
模拟购物车购物过程答案
list1=[]
for i in range(5):list1.append(input("请输入商品编号和商品名称进行商品入库,每次只能输入一件商品:\n"))
print(list1[:])
# print("请输入要购买的商品的编号:")
list2 = []
p = 0
for ji in range(0, 100):num = input("请输入要购买的商品的编号:\n")if num != "q":for item in list1:if item.find(num) == 0:list2.append(item)print("商品已添加到购物车,请继续添加要购买商品的商品编号")else:p = 1breakif p == 1:break
print(list2)
《python从入门到项目实践》第六章 列表和元组 //有一个课后答案相关推荐
- python编程入门指南 明日科技-python从入门到项目实践明日科技三剑客书籍视频...
┃ code(实例源码) ┃ ┃ 03.rar ┃ ┃ 04.rar ┃ ┃ 05.rar ┃ ┃ 06.rar ┃ ┃ 07.rar ┃ ┃ 08.rar ┃ ┃ 09.rar ┃ ┃ 10.rar ...
- python从入门到精通 明日科技 电子书-python从入门到项目实践 (明日科技) 配套视频教程+源码...
<Python 从入门到项目实践>从入门学习者的角度出发,通过简洁有趣的语言.丰富多彩的实例.挑战大脑的任务.贴近开发实战的项目,循序渐进地让读者在实践中学习,在实践中提升实际开发能力. ...
- python从入门到实践源代码-Python从入门到项目实践 PDF 全彩带源码版
给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python.入门.项目实践方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小2.1 GB,admin编写,目前豆瓣.亚马逊.当 ...
- python项目实例源码哪里下载-Python从入门到项目实践 PDF 全彩带源码版
给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python.入门.项目实践方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小2.1 GB,admin编写,目前豆瓣.亚马逊.当 ...
- 宇文成 Python 第六章 列表和元组
Python 第六章 列表和元组 #!/usr/bin/python -- coding:utf-8 -- @Author : Yu Wencheng @Time : 2020/9/5 17:04 & ...
- Python从入门到项目实践(明日科技 吉林大学出版社)
关注陈府博客园:https://home.cnblogs.com/u/chenzhihong294/ 获取学习资料.分享技术算法设计 链接:https://pan.baidu.com/s/1B6RIo ...
- Python编程:从入门到实践第六章读书笔记6.3遍历字典
Python编程:从入门到实践第六章读书笔记6.3遍历字典 #coding:gbk#6.3.1遍历所有的键-值对 user_0 = {'username': 'efermi','first': 'en ...
- Python编程:从入门到实践第六章练习6.3
Python编程:从入门到实践第六章练习6.3 #coding:gbk#6-4词汇表2 #参照6.3练习.py#6-5河流 rivers = {'nile': 'egypt','yellow rive ...
- python从入门到项目实战李兴华网盘_贺胜军Python轻松入门到项目实战【经典完整版】...
贺胜军Python轻松入门到项目实战课程目录 01_Python基本概述 01_计算机组成_操作系统.avi 02_计算机的进制.avi 03_数据存储单位1.avi 04_编码和解码.avi 05_ ...
最新文章
- 与金山云的樊博士聊了聊AV1算法优化以及如何提升沉浸式视频的沉浸感
- 4.1)深度卷积网络:卷积神经网络基础
- 线性回归-最小二乘python实现
- oracle11g怎样进行闪回,模拟Oracle11g下用Flashback Data Archive进行恢复的若干场景
- FXTM富拓:美数据亮眼,美元这是要涨了?
- Android 全仿To圈儿录音界面实现
- 百度有啊转型生活平台 启用新标与框计算对接
- 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】倍增lca
- 系统之家 Win10_21H1 x64位 游戏专业版系统下载 2021.06
- 【转】Java面试题合集
- 基于stm32的室内环境监测系统 9746字
- 爬虫入门经典(十九) | 难度提升,破解极验验证码
- Word2016自第3页开始添加连续页脚(除掉封面和目录)
- Vue 使用vue-seo-phantomjs 实现SEO抓取优化方案
- 白月黑羽教python_其他 | 白月黑羽教Python
- windows系统下redis安装以及设置redis开机自启动方法教程
- PVST的简单应用及其配置
- 2021牛年一月营销活动指导方案
- 无法访问到github怎么办
- 前端 JSP颜色大全(网址)
热门文章
- selenium+云打码+百度ocr爬取360的电话号码标记
- MNF最小噪声分离变换(转)
- imac 网络安装系统 服务器时间,Mac 重装系统教程(二):网络在线重装
- [Xcode]自己常用的Code Snippets、Xcode插件、文件目录
- 三阶魔方大中小魔公式_三阶魔方还原公式
- 使用vs2015打开以前版本的.sln工程不兼容的问题
- 学习笔记-Hadamard矩阵的Kronecker积
- 计算机系统的cpu是指什么意思,电脑cpu参数是什么意思
- RecyclerView安卓androidx.widget.RecyclerView
- 史上讲解最好的 Docker 教程,从入门到精通(建议收藏的教程)