python 1.7 列表
数据结构-- 列表
1、什么是列表?为什么用列表?
引子
需求 变量现在能保存一个字符串,
name = "stone"
现在我要保存 整个班级的名字 怎么保存那?
name = "张三 李四 王五"
现在是把姓名保存了,但是 一个字符串是不能分割的
( 有字符串的高级使用方法,但是 姓名可能有3个字 有2个字 ,没有确定的分隔符,也很困难)如何 用一个变量保存 多个值,并且按照一定的规则存取出来,引用出今天的主题 列表
作用 ,可以按照顺序存入多个不同类型的数值,也可以按照顺序或索引的取出来的 (可变 有序的数据类型)
l = ["张三","李四",111,333,[333,4444]]
0 1 2 3 4 这个叫做索引对应值 ,也就是值所对应的索引位置,从0 开始 N 结束
2、怎么用列表
创建列表
l = ["1",2] # 使用中括号
列表的独有功能
列表的方法 查
-
打印整个列表
变量怎么取值 ,打印变量名 aa = "dangj" print(aa) 怎么取列表里的值 ??也是打印变量名 print(aa) # 取出了变量l 的所有值 -
判断一个元素是否在列表内 in (效率特别低 尽量不用)
l = ["张三","李四",111,333,[333,4444]] print(2222 in l) print(l.index(111)) -
根据索引值取值 取出第一个值
# l = ["张三","李四",111,333,[333,4444]] # # print(l[0]) -
根据索引值取值 取出最后一个值
#l = ["张三","李四",111,333,[333,4444]] # print(l[-1]) # # 根据索引值取值 取出子列表的最后一个 # print(l[-1][-1]) -
根据元素取 索引值
# 根据数值的查找索引值,使用index 要先判断是不是在列表内,不在会报错 names = ["li","wang","zhang","wu","qi","hu"] names.index("hu") # -
获取列表内有多少元素
names = ["li","wang","zhang","wu","qi"] i =0 while names: names.pop(0) i +=1 print(i)
列表的方法 增
-
顺序追加进去 append
names = ["li","wang","zhang","wu","qi"] names.append("zhao") # 练习题 print("欢迎进入游戏".center(60,"#")) while True: people_num = input("请输入游戏人数:") if people_num.isdecimal(): break else: print("请输入正确的数字!") print(f"{people_num}个人参加Python游戏") user_list =[] for item in range(1,int(people_num)+1): user = input(f"请输入玩家的姓名 {item}/{people_num}") user_list.append(user) print(user_list) -
批量追加 extend
names.extend(names2) # extend 就是把另外一个列表中的值,全部插入到自己列表内,顺序插入。 # 另外一个列表的值不会丢失 print(names,names2) #结果: ['i', 'wang', 'zhang', 'Lu', '%%qi', 'hu', '11hu', 1, 2, 3, 4, 5] [1, 2, 3, 4, 5] a = ["zhangsan","lisi","wangwu"] b = ["aaaa","bbbb","ccccc",] a.extend(b) print(a) ['zhangsan', 'lisi', 'wangwu', 'aaaa', 'bbbb', 'ccccc'] for循环实现 a = ["zhangsan", "lisi", "wangwu"] b = ["aaaa", "bbbb", "ccccc"] for item in b: a.append(item) print(a) -
插入列表的任意位置
names.insert(2,"zhangsan") # 2号索引的位置 ,放入张三,原来的值,依次后退 names = ["li","wang","zhang","wu","qi"] names.insert(2,"dang") # 想增加到哪个位置,就要先写位置的下标。 print(names) ['li', 'wang', 'dang', 'zhang', 'wu', 'qi'] 注意事项 : names.insert(2,"zhangsan") 当插入的索引值小于0 的时候, 那么插入的位置,就是0. 比如 names.insert(-1000,"zhangsan") 当插入的索引值大于最大的索引数 的时候, 那么插入的位置,就是列表的最后. names.insert(1000,"zhangsan") -
练习题 抢火车票,设置vip 用户
vip_user = ["张三","李四","王五","陈六"] print("欢迎进入高铁购票系统".center(70,"#")) total_user = [] while True: name = input("请输入购票人姓名: (退出请按Q/q)") if name.upper() =="Q": break if name.startswith('张') : total_user.insert(1, name) print(f"尊贵VIP会员{name}先生,前方排队还有{total_user.index(name)}人!") else: total_user.append(name) print(f"{name}先生,前方排队还有{total_user.index(name)}人!,建议升级VIP") # 使用in 判断 vip_user = ["张三","李四","王五","陈六"] print("欢迎进入高铁购票系统".center(70,"#")) total_user = [] while True: name = input("请输入购票人姓名: (退出请按Q/q)") if name.upper() =="Q": break if name in vip_user : total_user.insert(1, name) print(f"尊贵VIP会员{name}先生,前方排队还有{total_user.index(name)}人!") print(total_user) else: total_user.append(name) print(f"{name}先生,前方排队还有{total_user.index(name)}人!,建议升级VIP")names = ["li","wang","zhang","wu","qi"] ''' 想要把liu插入一个zhang的后面,怎么写? 就要先知道,zhang 在哪个下标,所以在zhang 的下标数 加一就是zhang 的 后面 ''' names.insert(3,"liu")
列表的方法 改
names = ["li", "wang", "zhang", "wu", "qi"]
names[0]= 123
print(names)
[123, 'wang', 'zhang', 'wu', 'qi']
列表的方法 删
-
删除值
(1)删除方法 根据的值, 没有的会报错 names = ["li","wang","zhang","wu","qi"] # 想要删除一个值,使用remove ,直接写入要删除内容 names.remove("wang") print(names) 练习题 抽奖 import random vip_user = ["苹果","李子","香蕉","橘子"] while vip_user: item = random.choice(vip_user) name = input("输入你的名字: ").strip() print(f"恭喜{name} 抽中 {item}!") vip_user.remove(item) -
删除索引位置 pop
names = ["li","wang","zhang","wu","qi"] # pop 的语法 是默认删除最后一个 , names = ["li","wang","zhang","wu","qi"] names.pop() print(names) ['li', 'wang', 'zhang', 'wu'] # pop 的语法 如果参数加上索引位置删除,删除后返回值是要删除的元素, names = ["li","wang","zhang","wu","qi"] print(names.pop(1)) print(names) wang ['li', 'zhang', 'wu', 'qi'] (2)删除方法 根据的索引值 # 想要删除一个值,del 删除 列表names的下标 del names[1] names = ["li","wang","zhang","wu","qi"] del names[0] print(names) # 练习题: 6 个人 ,4张票,随机获取 import random import time print("欢迎进入高铁购票系统".center(70,"#")) user_list= [] while True: choic = input("请输入购票的人员名单:(退出请按Q/q)") if choic.upper() =="Q": break else: user_list.append(choic) print(user_list) ticket_num = 4 # 票数可以设置 人数减1 ,始终有一人抢不到 for item in range(0,ticket_num): name = user_list.pop() # 此次设置公平性,使用random.choic time.sleep(1) print(f"抢票中,请等待") print(f"恭喜 {name} 抢到票一张") people = "".join(user_list) if people: print(f"很遗憾,{people}未能抢到票,请选择其他车次!") -
清空列表
names.clear -
关键字删除
names = ["li","wang","zhang","wu","qi"] del names[1] #
列表数据的排序 、统计、合并
-
倒序排列 翻转的意思
names = ["li","wang","zhang","wu","qi","hu","hu"] names.reverse() # 倒序排列 从倒数第一 变成 正数第一 print(names)sort大小比较的原理 根据unicode 编码进行比较的
v = "中" print(ord(v)) # 获取道字符串的Unicode的编码号 在编码表上一般是16进制表示 print(hex(ord(v))) # 转换成16进制 就可以 在编码表上查找了 4e2d # 两个字符串比较 是每个字符从都要编码,然后逐个比较,谁小谁就在前面 比如 1 2 3 5 6 a b c -
大小排序
names = ["1","2","3","4"] names.sort()# 从小到大 names.sort(reverse)# 从大到小 -
字符串 (字母 + 数字大小比较)
names = ["li","wang","zhang","wu","qi","hu","123"] names.sort()# 从小到大 str int 不能比较
公共功能
-
列表相加 相乘
names = ["i","wang","zhang","Lu","%%qi","hu","11hu"] names2 = [1,2,3,4,5] name3 = names + names2 names1 = [1,2,3,4,5] names2 = names * 2 -
获取列表长度 #获取列表的元素数量#
names2 = [1, 2, 3, 4, 5] print(len(names2)) 元素数量(1-X)和索引数(0-x)不同 -
索引改数据
names2 = [1, 2, 3, 4, 5] names2[1]=10 -
切片 取值 或者改值 类似解压赋值 (多个元素的操作用切片)
names = ["i","wang","zhang","Lu",["66","66"],"%%qi","hu","11hu"] print(names[0:-1:2]) # 可以简写成 print(names[:-1:2]) # 再简写 print(names[::2]) # 打印全部值 --不要这么干 print(names[:]) # 打印全部值 print(names) 查 #print(names[0:3]) # 取前三个的时候 顾头不顾尾 names = ["li","wang","zhang","wu","qi"] print(names[:3]) # 如果是从0开始取值的话,也可以不写 #print(names[2:3]) # 取中间的值 记住顾头不顾尾 # 切片 取列表后面的值 # print(names[-1]) # 取最后一个值得写法 # print(names[-2]) # 取倒数第二个值得写法 # print(names[-2:]) # 取倒数第二个到最后的值得写法 # print(names[-2:]) 不管怎么取值 ,都是从左到右的顺序 增 改 追加 切片范围列表的左侧 names = ["li","wang","zhang","wu","qi"] names[0:3]=['123','123','666'] print(names) ['123', '123', '666', 'wu', 'qi'] 切片范围列表的左侧 添加一个索引不存在的位置时 相当于追加到列表最前面 names = ["li","wang","zhang","wu","qi"] names[-99:0]=['123','123','666'] print(names) ['123', '123', '666', 'li', 'wang', 'zhang', 'wu', 'qi'] names = ["li","wang","zhang","wu","qi"] names[-99:]=['123','123','666'] # 相当于清空追加到列表最前面 print(names) ['123', '123', '666'] 切片范围列表的右侧 添加一个索引不存在的位置时 相当于追加 在列表最后 names = ["li","wang","zhang","wu","qi"] names[99:]=['123','123','666'] print(names) ["li","wang","zhang","wu","qi",'123','123','666'] 删除 注意理解 names = ["li","wang","zhang","wu","qi"] del names[0:-1] print(names) ['qi'] -
步长
names = ["li","wang","zhang","wu","qi"] print(names[1:4:2]) ['wang', 'wu'] print(names[0::2]) ['li', 'zhang', 'qi'] print(names[4:1:-1]) ['qi', 'wu', 'zhang'] -
面试题 列表翻转 字符串的翻转 考验类型可变 不可变的知识点
names = ["li","wang","zhang","wu","qi"] names.reverse() print(names) ['qi', 'wu', 'zhang', 'wang', 'li'] # 把原来的列表的数据翻转了 print(names[::-1]) ['qi', 'wu', 'zhang', 'wang', 'li'] # 重新生成了一个新的变量 3、pop 删除最后一个 ,插入 新表第一个 4、for range len() 倒取索引, 和字符串第一二方法一样 字符串的翻转 print(a[::-1]) item = len(a)-1 while item >= 0: value =a[item] print(value) item = item -1 -
for 循环取值
根据 列表的长度取值 names = ["1","大王","大庆","大定","qi","大号"] for item in names: print(item) 根据 列表的索引取值 names = ["1","大王","大庆","大定","qi","大号"] for item in range(0,len(names)): print(names[item])-
面试题 for 循环删除列表中的值 翻转删除
需求: 删除以 有大的元素 names = ["1","大王","大庆","大定","qi","大号"] for item in names: if item.startswith("大"): names.remove(item) print(names) ['1', '大庆', 'qi'] # 没有删除干净 ====================================================== names = ["f0", "大1", "大2", "大3", "q4", "大5"] ''' # "1", "大王", "大庆", "大定", "qi", "大号" # 0 1 2 3 4 5 # range (第三个 -1 翻转的意思,不是从前往后了,而是从后往前,挨个取值) # range (第二个 -1 因为切片,顾头不顾尾,所以0 号索引往后移一位到-1,就能取到0号索引了) # range (第一个 len(names)-1 获取列表的最大索引值 ) # 解释 从前到后取值的话,删除一个元素,那么后面所有的元素,索引值加1 ,本来下一次循环到索引值是2,但是删掉了1 ,那么2就变成了1 # 取到2 未删除之前的3,那么2就被忽略了。 从后往前删的话,删除的索引值,不会对前面的索引元素造成影响,只影响已对比过元素索引改变而已。 ''' for item in range(len(names)-1,-1,-1): if names[item].startswith("大"): del names[item] print(names) ['f0', 'q4']
-
转换
-
int 不能转列表
-
bool 不能转列表
-
str -> 列表, 字符串的每个元素 对应列表的 元素
-
元组 集合
v1 = (1,2,3,4,5) print(list(v1)) 元组转列表 v2 = {'1','2','3'} 集合转列表 print(list(v2)) -
统计列表中,重名有几个
names = ["li","wang","zhang","wu","qi","hu","hu"] print(names.count("hu")) # count 是返回值出现的次数 -
嵌套取值
对于嵌套的值,可以根据之前学习的索引知识点来进行学习,例如: infos = [ ["da",19,"boy"], ["jingjing",22,"gril"] ] print(infos[1][1]) data = [ "谢广坤",["海燕","赵本山"],True,[11,22,33,44],"宋小宝" ] print( data[0] ) # "谢广坤" print( data[1] ) # ["海燕","赵本山"] print( data[0][2] ) # "坤" print( data[1][-1] ) # "赵本山" data.append(666) print(data) # [ "谢广坤",["海燕","赵本山"],True,[11,22,33,44],"宋小宝",666] data[1].append("谢大脚") print(data) # [ "谢广坤",["海燕","赵本山","谢大脚"],True,[11,22,33,44],"宋小宝",666 ] del data[-2] print(data) # [ "谢广坤",["海燕","赵本山","谢大脚"],True,[11,22,33,44],666 ] data[-2][1] = "alex" print(data) # [ "谢广坤",["海燕","赵本山","谢大脚"],True,[11,"alex",33,44],666 ] data[1][0:2] = [999,666] print(data) # [ "谢广坤",[999,666,"谢大脚"],True,[11,"alex",33,44],666 ] ``` ```python # 创建用户列表 # 用户列表应该长: [ ["alex","123"],["eric","666"] ] # user_list = [["alex","123"],["eric","666"],] # user_list.append(["alex","123"]) # user_list.append(["eric","666"]) user_list = [] while True: user = input("请输入用户名:") pwd = input("请输入密码:") data = [] data.append(user) data.append(pwd) user_list.append(data) ``` ```python user_list = [] while True: user = input("请输入用户名(Q退出):") if user == "Q": break pwd = input("请输入密码:") data = [user,pwd] user_list.append(data) print(user_list) ```
(1)列表的复制(浅copy,深copy)的特性
names = ["i","wang","zhang","Lu","%%qi","hu","11hu"]
names2 = names.copy()
print(names2)
结果:
E:\python\venv\Scripts\python.exe E:/python/day2/hello.py
['i', 'wang', 'zhang', 'Lu', '%%qi', 'hu', '11hu']
特性: 浅copy 只复制列表的第一层
names = ["i","wang","zhang","Lu",["66","66"],"%%qi","hu","11hu"]
names2 = names.copy()
print (names)
print (names2)
names[3] = "xun"
names[4][0] = "77"
print (names)
print (names2)
结果
E:\python\venv\Scripts\python.exe E:/python/day2/hello.py
['i', 'wang', 'zhang', 'Lu', ['66', '66'], '%%qi', 'hu', '11hu']
['i', 'wang', 'zhang', 'Lu', ['66', '66'], '%%qi', 'hu', '11hu']
['i', 'wang', 'zhang', 'xun', ['77', '66'], '%%qi', 'hu', '11hu']
['i', 'wang', 'zhang', 'Lu', ['77', '66'], '%%qi', 'hu', '11hu']
复制的特性就是 在复制以后 更改了names ,names2 是不会改变的,但是嵌套的列表是在一段独立的内存空间,nams2的复制的是指向内存空间的地址,不是复制的数值,所以,names 的嵌套列表的值 发生变化,那么names2 的值也会发生变化。
实现浅copy的三种方法
import copy
names=["i","wang","zhang","Lu",["66","66"],"%%qi","hu","11hu"]
p1 = copy.copy(names)
p2 = names[:]
p3 = list(names)
print(p1)
print(p2)
print(p3)
浅copy的案列
import copy
person = ["lu",["saving","100"]]
p1 = copy.copy(person)
p2 = copy.copy(person)
p1[0] = "dang"
p2[0] = "zhang"
person[1][1] = "50"
print(p1)
print(p2)
浅copy 实现一个案例是,
有两个人同时,拥有一个共同账户,那么,其中一个人取了50 元,那么,另外一个人的账户同时,也减掉了50元,也可以实现简单的数据一致性。
深copy
import copy
names = ["i","wang","zhang","Lu",["66","66"],"%%qi","hu","11hu"]
names2 = copy.deepcopy(names)
print (names)
print (names2)
names[3] = "xun"
names[4][0] = "77"
print (names)
print (names2)
使复制的列表 完全一样。
作业
1.6 列表阶段作业
-
写代码,有如下列表,按照要求实现每一个功能。
li = ["alex", "WuSir", "ritian", "barry", "武沛齐"]- 计算列表的长度并输出
- 列表中追加元素"seven",并输出添加后的列表
- 请在列表的第1个索引位置插入元素"Tony",并输出添加后的列表
- 请修改列表第2个索引位置的元素为"Kelly",并输出修改后的列表
- 请将列表的第3个位置的值改成 "妖怪",并输出修改后的列表
- 请将列表
data=[1,"a",3,4,"heart"]的每一个元素追加到列表li中,并输出添加后的列表 - 请将字符串
s = "qwert"的每一个元素到列表li中。 - 请删除列表中的元素"barry",并输出添加后的列表
- 请删除列表中的第2个元素,并输出删除元素后的列表
- 请删除列表中的第2至第4个元素,并输出删除元素后的列表
-
答案
li = ["alex", "WuSir", "ritian", "barry", "武沛齐"] - 计算列表的长度并输出 print(len(li)) i =0 while li: li.pop() i +=1 print(i) - 列表中追加元素"seven",并输出添加后的列表 li.append("seven") print(li) li.insert(900,"seven") print(li) - 请在列表的第1个索引位置插入元素"Tony",并输出添加后的列表 li.insert(1,"Tony") print(li) li[1]="Tony" print(li) - 请修改列表第2个索引位置的元素为"Kelly",并输出修改后的列表 li[2]="kelly" print(li) - 请将列表的第3个位置的值改成 "妖怪",并输出修改后的列表 li[2]="妖怪" print(li) - 请将列表 `data=[1,"a",3,4,"heart"]` 的每一个元素追加到列表 `li` 中,并输出添加后的列表 data=[1,"a",3,4,"heart"] li = ["alex", "WuSir", "ritian", "barry", "武沛齐"] li += data print(li) while data: li.append(data.pop()) print(li) for item in data: li.append(item) print(li) li.extend(data) print(li) - 请将字符串 s = "qwert"的每一个元素到列表 `li` 中。 s = "qwert" li.extend(list(s)) print(li) for item in s: li.append(item) print(li) num = len(s)-1 while num >=0: li.insert(99,s[num]) num -= 1 print(li) - 请删除列表中的元素"barry",并输出添加后的列表 list_num = len(li) value = "barry" for item in range(list_num-1,-1,-1): if li[item] ==value: li.remove(li[item]) li.pop(item) del li[item] li[item]="" print(li) value = "barry" if value in li: li.remove(value) print(li) value = "barry" if value in li: del li[li.index(value)] print(li) - 请删除列表中的第2个元素,并输出删除元素后的列表 li = ["alex", "WuSir", "ritian", "barry", "武沛齐"] li.remove(li[1]) print(li) del li[1:2] print(li) li.pop(1) print(li) del li[1] print(li) - 请删除列表中的第2至第4个元素,并输出删除元素后的列表 li = ["alex", "WuSir", "ritian", "barry", "武沛齐"] ["alex", "武沛齐"] a = [li[0],li[4]] print(a) del li[1:4] print(li)
-
写代码,有如下列表,利用切片实现每一个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]- 通过对li列表的切片形成新的列表 [1,3,2]
- 通过对li列表的切片形成新的列表 ["a",4,"b"]
- 通过对li列表的切片形成新的列表 [1,2,4,5]
- 通过对li列表的切片形成新的列表 [3,"a","b"]
- 通过对li列表的切片形成新的列表 [3,"a","b","c"]
- 通过对li列表的切片形成新的列表 ["c"]
- 通过对li列表的切片形成新的列表 ["b","a",3]
-
答案
li = [1, 3, 2, "a", 4, "b", 5,"c"] 通过对li列表的切片形成新的列表 [1,3,2] print(li[:3]) print(li[2::-1]) 通过对li列表的切片形成新的列表 ["a",4,"b"] print(li[3:6]) print(li[-3:-6:-1]) 通过对li列表的切片形成新的列表 [1,2,4,5] 步长2 li = [1, 3, 2, "a", 4, "b", 5,"c"] print(li[0::2]) range 设置既有翻转还有步长 for i in range(len(li)-1,-1,-1): print(li[i]) 通过对li列表的切片形成新的列表 [3,"a","b"] li = [1, 3, 2, "a", 4, "b", 5,"c"] print(li[1:-1:2]) 通过对li列表的切片形成新的列表 [3,"a","b","c"] print(li[1::2]) 通过对li列表的切片形成新的列表 ["c"] print(li[-1]) 通过对li列表的切片形成新的列表 ["b","a",3] li = [1, 3, 2, "a", 4, "b", 5,"c"] print(li[1:-2:2])
步长 的数字 和翻转- 没有关系
翻转含义 仅仅是从左 到右,还是从右到左,索引值没有变化,整数 和负数 都可以表示
range(len(list)-1,-1,-1) 第二个-1 表示的是0号索引左边的值
li = [1, 3, 2, "a", 4, "b", 5,"c"]
b a 3
print(li[-3:-8:-2])
print(li[5::-2])
步长 是使用 数字表示的
翻转 是使用 - 表示的
-
写代码,有如下列表,按照要求实现每一个功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]- 将列表lis中的第2个索引位置的值变成大写,并打印列表。
- 将列表中的数字3变成字符串"100"
- 将列表中的字符串"tt"变成数字 101
- 在 "qwe"前面插入字符串:"火车头"
-
答案
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"] - 将列表lis中的第2个索引位置的值变成大写,并打印列表。 print(lis[2].upper()) - 将列表中的数字3变成字符串"100" lis[1]="100" lis[3][2][1]="100" print(lis) lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"] - 将列表中的字符串"tt"变成数字 101 lis[3][2][1][0]=11 print(lis) - 在 "qwe"前面插入字符串:"火车头" lis[3][-99:0]= ["火车头"] lis[3].insert(0,"火车头") print(lis) -
答案
请用代码实现循环输出元素和值:users = ["武大熊","景女神","肖大侠"] ,如: 0 武沛齐 1 景女神 2 肖大侠 users = ["武大熊","景女神","肖大侠"] for item in users: print(f"{users.index(item)} {item}") for item in range(len(users)-1,-1,-1): print(f"{users[item]} {item}") for item in range(len(users)): print(f"{item} {users[item]} ") 写代码实现以下功能 如有变量 goods = ['汽车','飞机','火箭'] 提示用户可供选择的商品: 0,汽车 1,飞机 2,火箭 用户输入索引后,将指定商品的内容拼接打印,如:用户输入0,则打印 您选择的商品是汽车。 goods = ['汽车','飞机','火箭'] for item in range(len(goods)): print(f"{item} {goods[item]}") chico = input("请输入购买的产品的序号:(退出按Q/q)") if chico.upper() == "Q": print("欢迎下次光临") if int(chico) == 0 or int(chico) == 1 or int(chico) == 2 : print(f"恭喜你购买成功{goods[item]}") else: print("输入错误请重新输入") 利用for循环和range 找出 0 ~ 50 以内能被3整除的数,并追加到一个列表。 list = [] for item in range(1,51): if item%3 == 0: list.append(item) print(list) 利用for循环和range 找出 0 ~ 50 以内能被3整除的数,并插入到列表的第0个索引位置,最终结果如下: [48,45,42...] list = [] for item in range(1,51): if item%3 == 0: list.insert(0,item) print(list) 查找列表li中的元素,移除每个元素的空格,并找出以"a"开头,并添加到一个新列表中,最后循环打印这个新列表。 li = ["alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"] new_list =[] for item in li: if item.strip().startswith("a"): new_list.append(item.strip()) print(new_list) 将以下车牌中所有 京的车牌搞到一个列表中,并输出京牌车辆的数量。 data = ["京1231", "冀8899", "京166631", "晋989"] jing = [] for item in data: if item.startswith("京"): jing.insert(0,item) print(len(jing))
浙公网安备 33010602011771号