目录
知识模块(8) 列表知识——井然有序
1.列表的创建
2.列表访问(查找操作)
3.列表增加操作
4.列表删除操作
5.统计与计算
附件代码:
炼 知识模块(8) 列表知识——井然有序
知识模块(8) 列表知识——井然有序
1.列表的创建
1.1 空列表: lie = []
lie = [12,"python",3.14159]
print(lie)
1.2 list()函数:
lie2 = list(range(1,10))
print(lie2)
1.3 连接列表
print(lie + lie2) # 类似字符串
print(lie*3) # 字符串一样
#练1:定义一个列表a,以list()函数输出abcde各个字符;
注:字符串通过list()函数存到列表,在列表会默认拆成单独字符存到列表中。
#练2:定义一个列表b,以list()函数输出6到60的数;
#练3:定义一个列表c,以list()函数输出2、4、6、8数;
2.列表访问(查找操作)
索引/下标:默认索引从0开始。
s = list(range(1,11))
print(s)
print(s[0],s[2],s[-1],s[-2])
请问:s[0]值: s[2]值: s[-1]值: s[-2]值:
切片访问:获取连续一片段的列表元素值。
格式:变量名[索引开始:索引结束:步长] 类似range()函数用法。
s[::] 代表获取全部值,s[:3] 代表获取索引0到索引2的值"123",索引3的值"4"取不到!
请问s[:5]值: s[2:7]值: s[5:-1]值:
s[3:]值: s[::2]值: s[1::2]值:
遍历访问列表:在for循环中,range代替为列表变量名s即可。
for i in s:
print(i)
输出的是列表的元素值 1 2 3 4....10
3.列表增加操作
3.1 格式:变量名.append(值/value)
append作用:默认在列表的最后,添加值。
s = list(range(1,11))
print(s)
# 例如:添加个整数"11";
s.append(11)
print(s)
3.2 格式:变量名.insert(索引位置, 值/value)
insert作用:在索引位置进行插入值。
# 在第一个位置进行插入值"insert"
s.insert(0,"insert")
print(s)
# 插入值"four",在索引4位置
s.insert(4,"four")
print(s)
3.3 格式:变量名.extend([value,value,..])
extend作用:extend([value,value,..]) 默认在末尾可以一次添加多个元素值。
# 末尾添加[1,"你好",5.55]
s.extend([1,"你好",5.55])
print(s)
# 末尾添加"hello"
s.extend("hello")
print(s)
题1:
1、建立一个空的下单购物车food;
2、extend 添加食物:["汉堡","火腿","可乐","鸡翅"];
3、insert 在"火腿"后面插入"冰淇淋";
4、最后用append在末尾添加"热狗"。
4.列表删除操作
a = ['insert', 1, 2, 3, 'end', 4, 5, 6, 7, 8, 9, 10, 11, 1, '你好', 5.55, 'h', 'e', 'l', 'l', 'o']
修改值:变量名[索引/index] = 值/value
作用:赋值符号右边的值可以替代
# 把最后一个位置的值替换成"over"
a[-1] = "over"
print(a)
4.1格式:变量名.remove(value/值)
remove作用:直接删除元素,若被删除元素重复出现,则只删除第一次。
# 删除数字1
a.remove(1)
print(a)
4.2格式:变量名.pop(index/索引)
pop作用:若括号不带参数,则默认删除列表最后一个元素;若带参数则删除此参数代表的索引处的元素。
# 删除列表最后一个值
a.pop()
print(a)
# 删除列表第一个值
a.pop(0)
print(a)
# 4.3清空列表元素
a.clear()
print(a)
4.4格式:del 变量名 / del 变量名[index/索引]
del作用:删除整个列表 / 删除指定索引处的元素
# 用del删除 索引5的值
del a[5]
print(a)
# 删除整个列表
del a
print(a) #输出会报错,因为列表已经删除了
5.统计与计算
max(变量名) 最大值
min(变量名) 最小值
len(变量名) 计算列表长度
sum(变量名) 统计数值列表的元素和
变量名.count(值/value) 用于统计某元素的出现次数
变量名.index(值/value) 获取指定元素首次出现的下标
升序:变量名.sort(), 降序:变量名.sort(reverse=True)
s = [5,6,8,2,15,2,515,5,165,16,15,6,1,9999]
print(max(s)) # 1.获取最大值
print(min(s)) # 2.获取最小值
print(len(s)) # 3.计算列表长度
print(sum(s)) # 4.统计列表的所有元素的和
print(s.count(5)) # 5.统计数字5有多少次?
print(s.index(5)) # 6.查找值数字5索引位置
# 7.降序输出
s.sort(reverse=True)
print(s)
# 8.升序输出
s.sort()
print(s)
题2:数字转汉字
用户输入一个1~9(包含1和9)之间的任一数字,程序输出对应的汉字。
如输入2,程序输出“二”。可重复查询。
shu = ['一','二','三','四','五','六','七','八','九']
while True:
n = int(input())
print(shu[n-1])
题3:假设10位评委的打分是99,80,86,89,94,92,75,87,86,95,
现需要运用Python语言进行编程实现:
去掉一个最高分,去掉一个最低分,计算平均分,并打印出来。打印格式为:
去掉一个最高分:XX分,去掉一个最低分:XX分,最后得分为:XX分
score = [99,80,86,89,94,92,75,87,86,95]
max1 = max(score)
min1 = min(score)
sum1 = sum(score)
a = sum1 - max1 - min1
print("去掉一个最高分:%d分,去掉一个最低分:%d分,最后得分为:%d分" % (max1,min1,a))
附件代码:
lie = [12,"python",3.14159]
print(lie)
lie2 = list(range(1,10))
print(lie2)
lie = [12,"python",3.14159]
print(lie)
lie2 = list(range(1,10))
print(lie2)
# 索引
s = list(range(1,11))
print(s)
print(s[0],s[2],s[-1],s[-2])
# 切片
print(s[:5])
print(s[2:7])
print(s[5:-1])
print(s[3:])
print(s[::2])
print(s[1::2])
#遍历访问列表
for i in range(1,11):
print(i)
#3.1 格式:列表名.append(值/value)
#append作用:默认在列表的最后,添加值。
s = list(range(1,11))
print(s)
# 例如:添加个整数"11";
s.append(11)
print(s)
#3.2 格式:列表名.insert(索引位置, 值/value)
#insert作用:在索引位置进行插入值。
# 在第一个位置进行插入值"insert"
s.insert(0,"insert")
print(s)
# 插入值"four",在索引4位置
s.insert(4,"end")
print(s)
#3.3 格式:列表名.extend([value,value,..])
#extend作用:extend([value,value,..]) 默认在末尾可以一次添加多个元素值。
s.extend([1,"你好",5.55])
print(s)
s.extend("hello")
print(s)
#4.列表删除操作
a = ['insert', 1, 2, 3, 'end', 4, 5, 6, 7, 8, 9, 10, 11, 1, '你好', 5.55, 'h', 'e', 'l', 'l', 'o']
print(a)
#把最后一个位置的值替换成“over”
a[-1] = "over"
print(a)
#4.1格式:列表名.remove(value/值)
#remove作用:直接删除元素,若被删除元素重复出现,则只删除第一次。
# 删除数字1
a.remove(1)
print(a)
#4.2格式:列表名.pop(index/索引)
#pop作用:若括号不带参数,则默认删除列表最后一个元素;若带参数则删除此参数代表的索引处的元素。
# 删除列表最后一个值
a.pop()
print(a)
#删除列表第一个值
a.pop(0)
print(a)
#4.3格式:del 列表名 / del 列表名[index/索引]
#del作用:删除指定索引处的元素 / 删除整个列表
# 用del删除 索引5的值
del a[5]
print(a)
#a.clear() # 清空列表
# 删除整个列表
#del a
print(a) #输出会报错,因为列表已经删除了
#5.统计与计算
s = list(range(1,100))
'''
max(变量名) 最大值
min(变量名) 最小值
len(变量名) 计算列表长度
sum(变量名) 统计数值列表的元素和
变量名.count(值/value) 用于统计某元素的出现次数
变量名.index(值/value) 获取指定元素首次出现的下标
升序:list.sort(),降序:list.sort(reverse=True)
'''
s = [5,6,8,2,15,2,515,5,165,16,15,6,1,9999]
print(max(s)) # 获取最大值
print(min(s)) # 获取最小值
print(len(s)) # 计算列表长度
print(sum(s)) # 统计列表的所有元素的和
print(s.count(5)) #统计数字5有多少次?
print(s.index(5)) # 查找值数字5索引位置
# 7.降序输出
s.sort(reverse=True)
print(s)
# 8.升序输出
s.sort()
print(s)
'''
用户输入一个1~9(包含1和9)之间的任一数字,程序输出对应的汉字。
如输入2,程序输出“二”。可重复查询。
'''
shu = ['一','二','三','四','五','六','七','八','九']
while True:
n = int(input())
print(shu[n-1])
score = [99,80,86,89,94,92,75,87,86,95]
max1 = max(score)
min1 = min(score)
sum1 = sum(score)
a = sum1-max1-min1
print("去掉一个最高分:%d分,去掉一个最低分:%d分,最后得分为:%d分" %(max1,min1,a) )
炼 知识模块(8) 列表知识——井然有序
1.关于Python中的列表,下列描述错误的是? ( )
A.列表是Python中内置可变序列,是若干元素的有序集合;
B.列表中的每一个数据称为“元素”;
C.在Python中,一个列表中的数据类型可以各不相同;
D.可以使用s[1]来获取列表s的第一个元素。
2.已知列表a=[1,3,5,7],下列语句无法将a变成a=[1,3,5,7,9]的是?( )
A.a.append(9) B.a=[1,3,5,7,9] C.a.insert(4,9) D.a[4]=9
3.关于以下代码段的说法错误的是?( )
a = [1, 2, 5, 4, 3]
a.sort(reverse=True)
print(a)
A.a.sort(reverse=True)语句中的reverse默认值为False。
B.省略a.sort(reverse=True)语句中的reverse=True,代码运行结果不变。
C.将以上代码的a.sort(reverse=True)改为a=sorted(a,reverse=True),代码运行结果和原题的结果一样。
D.以上代码运行结果为:[5, 4, 3, 2, 1]。
4.以下代码的输出结果是?( )
ls = []
for m in '想念':
for n in '家人':
ls.append(m+n)
print(ls)
A.["想念","家人"] B.["想想","念念","家人"]
C.["想家想","人念家","念人"] D.["想家", "想人", "念家", "念人"]
5.以下程序的输出结果是?( )
lt = ['绿茶','乌龙茶','红茶','白茶','黑茶']
ls = lt
ls.clear()
print(lt)
A. []
B.变量未定义的错误
C.['绿茶','乌龙茶','红茶','白茶','黑茶']
D.'绿茶','乌龙茶','红茶','白茶','黑茶'
6.下面代码的输出结果是?( )
list1 = [1,2,3]
list2 = [4,5,6]
print(list1+list2)
A.[4,5,6] B.[1, 2, 3, 4, 5, 6] C.[1,2,3] D.[5,7,9]
7. cat=['fat','black','cloud'],则cat.index('black')的值为?( )
A.1 B.2 C.3 D.0
8. 3年级2班的学生花名册被存储在一个列表name中,如何快速得到该班级学生的总人数?( )
A.print(sum(name)) B.print(len(name))
C.print(min(name)) D.print(max(name))
9.小张的爸爸每个月都有绩效工资,绩效工资根据业绩被分为1200、1400和1600三个等级,小张把爸爸每个月的绩效工资都记录在了一个money的列表中,如何能快速得到小张爸爸得到1600元绩效的次数?( )
A.money.index(1600) B.money.count(1600)
C.money.remove(1600) D.money.insert(0,1600)
10.已知a=list(range(10)),执行以下指令后,a的值会变成?( )
a[:2]=[5]
a.pop(5)
a.remove(5)
A.[2, 3, 4, 5, 7, 8, 9] B.[2, 3, 4, 7, 8, 9]
C.[2, 3, 4, 6, 7, 8, 9] D.[5, 2, 3, 4, 5, 7, 8, 9]
11.小红用一个列表score=[80,78,92,96,100,88,95]来依次表示她七周的英文测验分数,如果想要查找到第三周的英文测验分数并将其删除,应该怎么做?( )
A、score[3] B、score[2] C、score.pop(3) D、score.pop(2)
12. 以下代码输出结果是?( )
ls =["2021","123","Python",[2021,"2021"],2021]
ls.append([2021,"2021"])
ls.append(2021)
print(ls)
A、['2021', '123', 'Python', 2021]
B、['2020', '123', 'Python', [2021, '2021']]
C、['2021', '123', 'Python', [2021, '2021'], 2021]
D、['2020', '123', 'Python', [2021],2021]
13. 已知Lista=list("five"),执行语句Lista[2:]=list("rst")后,列表Lista中的元素为?( )
A、['f', 'i', 'v', 'e', 'r', 's', 't']
B、['f', 'r', 's', 't']
C、['f', 'i', 'r', 's']
D、['f', 'i', 'r', 's', 't']
14. 原有列表s=[5,2,9,1],下列哪个操作不能使得列表s变为[9,5,2,1]?( )
A、s.sort()
s.reverse()
print(s)
B、s.sort(reverse=True)
print(s)
C、print(sorted(s,reverse=True))
D、s.sort(); print(s)
15.以下代码输出结果是?( )
ls = [888,'note',[2021,'Python',123],20]
print(ls[2][1])
A、note B、Python C、2021 D、结果错误
16.将下列列表a中偶数提取出来并形成一个新的列表c,请补充完整语句?( )
a = [3,5,7,6,2,8,10]
c=[]
for i in a:
if _______:
________
print(c)
A、i%2==0:
c.append(i)
B、i%2==0
c.extend(i)
C、i//2=1
c.append(i)
D、i//2=1
c.extend(i)
17. 已知列表List1=[1,2,3,4,5],要在列表List1中的最前面添加元素0,则下列操作可行的是?( )
A、List1=0+List1 B、List1="0"+List1
C、List1=[0]+List1 D、List1=List1+[0]
18. 已知列表a=[1,2,3],执行语句print(2*a),显示的结果是?( )
A、[2, 4, 6] B、[1, 2, 3, 1, 2, 3]
C、[1, 2, 3, 2, 4, 6] D、[1, 2, 3, 3, 2, 1]
19.s='语文、数学、英语、信息技术'
l=s.split('、')
print(l)
以上代码的运行结果为?( )
A、['语文', '数学', '英语', '信息技术'] B、['语文、数学、英语、信息技术']
C、('语文', '数学', '英语', '信息技术') D、('语文、数学、英语、信息技术')
20.以下程序的运行结果是?( )
list1=[1,2,3]
list1[2]=4; print(list1)
A、[1,2,4] B、[1,2,3] C、[1,4,3] D、[1,4]
21.执行下列代码后,运行结果是?( )
l1 = [11, 22, 33]; l2 = [66, 44, 22]
for i in l1:
for j in l2:
if i == j:
print(i)
A、True B、0 C、2 D、22
22.列表a=[1,2,3,4,5,6,7,8,9],要想得到[3,5,7],以下切片正确的是?( )
A、a[-7:-2:-2] B、a[2:7:2] C、a[3:7:2] D、a[2:7:-2]
23. alist=['cat','bat','cat','hat','cat'], 执行下列代码,输出的结果是?( )
alist.remove('cat')
print(alist)
A、['cat','bat','cat','hat','cat']
B、['bat','cat','hat','cat']
C、['bat','hat']
D、['cat','bat','cat','hat']
24.已知s=list("sgdhasdghasdg"),以下选项中能输出字符“g”出现的次数的是?( )
A.print(s.index(g)) B.print(s.index("g"))
C.print(s.count("g")) D.print(s.count(g))
25.以下代码的输出结果是?( )
ls1 = [1,2,3,4,5]
ls2 = ls1
ls2.reverse( )
print(ls1)
A.5,4,3,2,1 B.[1,2,3,4,5] C.[5,4,3,2,1] D.1,2,3,4,5
26.运行如下代码,结果是?( )
l=["a",1,"b",[1,2]]
print(len(l))
A.3 B.4 C.5 D.6
27.以下代码的输出结果是?( )
lis = list(range(4))
print(lis)
A.[0,1,2,3,4] B.[0,1,2,3] C.0,1,2,3 D.0,1,2,3,4