目录序列切片乘法检查 in序列有关函数列表遍历列表添加、修改和删除列表元素列表统计 次数、下标、求和排序 sort()生成列表 /列表推导式元组 tuple推导式与列表不同python中常用5中序列结构列表、元组、集合、字典、字符串。序列切片访问元素的一个方法sname[start:end:step]包括开始位置不包括end位置step默认为1nba [迈克尔•乔丹,比尔•拉塞尔,卡里姆阿卜杜勒•贾巴尔,威尔特•张伯伦, 埃尔文•约翰逊,科比•布莱恩特,蒂姆•邓肯,勒布朗•詹姆斯,拉里•伯德, 沙奎尔•奥尼尔] 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]检查 inphone [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 #输出 itemfor index,item in enumerate(listname): #输出index 与 itemprint(2018年俄罗斯世界杯四强) team [法国,比利时,英格兰,克罗地亚] for index,item in enumerate(team): print(index 1,item)2018年俄罗斯世界杯四强1 法国2 比利时3 英格兰4 克罗地亚添加、修改和删除列表元素添加insert与appendphone [摩托罗拉,诺基亚,三星,OPPO] print(len(phone)) # 获取列表的长度 phone.append(iPhone) print(len(phone)) # 获取列表的长度 print(phone)45[摩托罗拉, 诺基亚, 三星, OPPO, iPhone]phone [摩托罗拉,诺基亚,三星,OPPO] print(len(phone)) # 获取列表的长度 phone.insert(2,iPhone) print(len(phone)) # 获取列表的长度 print(phone)45[摩托罗拉, 诺基亚, iPhone, 三星, OPPO]修改元素verse [德国队小组赛回家,西班牙传控打法还有未来吗,C罗一人对抗西班牙队] print(verse) verse[2] 梅西、C罗相约回家 # 修改列表的第3个元素 print(verse)[德国队小组赛回家, 西班牙传控打法还有未来吗, C罗一人对抗西班牙队][德国队小组赛回家, 西班牙传控打法还有未来吗, 梅西、C罗相约回家]删除元素 del removeverse [德国队小组赛回家,西班牙传控打法还有未来吗,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理论总成绩为 968grade [98,99,97,100,100,96,94,89,95,100] # 10名学生语文成绩列表 total sum(grade,10) print(Python理论总成绩为,total)Python理论总成绩为 978grade [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(keyNone, reverseFalse)key 表示指定一个从每个列表元素中提取一个用于比较的键keystr.lower 表示在排序是不区分字母大小写False表示升序True表示降序grade [98,99,97,100,100,96,94,89,95,100] # 10名学生Python理论成绩列表 print(原列表,grade) grade.sort() # 进行升序排列 print(升 序,grade) grade.sort(reverseTrue) # 进行降序排列 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 x5000] 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 tupleverse2的类型为 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)012转换后 ()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 1 break if p 1: break print(list2)