点个👍吧,秋梨膏!!!!!,建议收藏一波
第5章 序列、集合和字典
-
Python中,通过列表中的index方法可以根据指定值查找第一个匹配的列表元素的位置。
-
Python中,通过列表中的insert方法可以将一个元素插入到列表的指定位置。
-
若在列表的最后添加新元素,则可以直接使用列表的append方法。
-
使用del语句可以删除某个变量或列表中的某个元素。
-
使用max方法可以获取一个列表中最大元素的值。
-
使用min方法可以获取一个列表中最小元素的值。
-
使用列表中的count方法可以统计某个值在列表中出现的次数。
-
Python中集合有两种插入元素的方法,分别是add和update。
-
集合中的issubset方法可以用于判断一个集合是否是另一个集合的子集。
-
集合中的issuperset方法可以用于判断一个集合是否是另一个集合的父集。
-
使用del可以删除某个元素,也可以使用字典中的pop方法删除指定键的元素。
-
使用字典中的clear方法可以一次将一个字典中的所有元素都清除。
-
判断字典中是否存在某个键可以使用字典中的get方法,也可以使用成员运算符in。
-
已知ls=[x*2 for x in range(5)],则print(ls)的输出结果为[0,2,4,6,8]。
-
迭代器是指可以通过next函数不断获取下一个值的对象。
-
下列属于可变类型的是(A)
A. 列表
B. 元组
C. 字符串
D. 数字 -
下列叙述正确的是(B)
A. 列表和元组都是用一对中括号括起来的多个元素的有序集合,各元素之间用逗号分隔
B. 列表是用一对中括号括起来的多个元素的有序集合,各元素之间用逗号分隔,元组是用一对小括号括起来的多个元素的有序集合,各元素之间用逗号分隔
C. 列表是用一对小括号括起来的多个元素的有序集合,各元素之间用逗号分隔,元组是用一对中括号括起来的多个元素的有序集合,各元素之间用逗号分隔
D. 列表和元组都是用一对小括号括起来的多个元素的有序集合,各元素之间用逗号分隔 -
关于复制列表元素说法错误的是(C)
A. Python中,通过赋值运算实际上是将两个变量指向同一个对象,而不是将一个变量的值赋给另一个变量。
B. 采用元素截取的方法,可以根据一个已有列表对象复制出另一个新的列表对象,后面对两个对象的操作完全独立
C. 如果一个列表中包含列表类型的元素,元素截取的方法完全可行,两个列表中的相同列表类型的元素完全独立
D. 为了真正实现列表的复制操作,可以使用Python在copy模块中提供的deepcopy函数 -
已知学生类中有属性name和sno,列表ls中含有若干学生对象,若要求列表ls按照学生的姓名的降序排序,相应的语句是(A)
A. ls.sort(key=lambda stu:stu.name,reverse=True)
B. ls.sort(key=lambda stu:stu.name)
C. ls.sort(key=name,reverse=True)
D. ls.sort(name) -
下列叙述错误的是(C)
A. 可以使用一对大括号{}或set函数创建集合
B. 可以使用一对大括号{}或dict函数创建字典
C. 可以使用{}或set()创建空集合
D. 可以使用{}或dict()创建空字典 -
已知定义:
d=dict(sno=‘1810100’, name=‘李晓明’, age=19,t=(3,4),s=[3,4,5])
则len(d)的值为(A)
A. 5
B. 6
C. 7
D. 8 -
已知字典d,获取字典中键值集合的语句是(C)
A. d.items()
B. d.values()
C. d.keys()
D. d.get() -
下列有关生成器叙述错误的是(D)
A. 将列表生成表达式中的一对中括号改为一对小括号即可得到生成器
B. 对于生成器对象,也可以像其他可迭代对象一样使用for循环遍历对象中的每一个元素
C. 如果生成元素的方法比较复杂,不适合用for循环方式实现,我们还可以借助yield关键字利用函数实现生成器的功能
D. 生成器就是一次性在内存中产生大量列表元素,占用大量的内存空间 -
关于说法正确的是(B)
A. 列表是可迭代对象、但不是迭代器;同样,生成器是可迭代对象、但不是迭代器
B. 列表是可迭代对象、但不是迭代器;而生成器既是可迭代对象、又是迭代器
C. 列表既是可迭代对象、又是迭代器;而生成器是可迭代对象、但不是迭代器
D. 列表既是可迭代对象、又是迭代器;而生成器是迭代器、但不是迭代对象 -
写出下面程序的运行结果。
t1=(“zhangsan”,18,95.5)
t2=()
t3=(33,)
t4=([44,55,66])
t5=t1+t3
print(t1,t2,t3,t4,t5)
print(t5)
print(max(t4))
print(min(t4))
答:运行结果为:
(‘zhangsan’, 18, 95.5) () (33,) [44, 55, 66] (‘zhangsan’, 18, 95.5, 33)
(‘zhangsan’, 18, 95.5, 33)
66
44 -
写出下面程序的运行结果。
ls=[1,2,3,2,3,4]
print(ls.index(4))
print(ls.count(3))
print(max(ls))
print(min(ls))
print(len(ls))
del ls[3]
print(ls)
ls.sort(reverse=True)
print(ls)
答:运行结果为:
5
2
4
1
6
[1, 2, 3, 3, 4]
[4, 3, 3, 2, 1] -
写出下面程序的运行结果。
import copy
s1=[4,5,6]
s2=s1
s2[1]=“nk”
print(s1,s2)
s3=s1[1:3]
s3[1]=“cn”
print(s1,s3)
s4=copy.deepcopy(s1)
s4[1]=333
print(s1,s4)
s5=[4,[5,6]]
s6=s5[1:3]
s5[1][0]=“cn”
print(s5,s6)
s7=copy.deepcopy(s5)
s7[1]=“nk”
print(s5,s7)
答:运行结果为:
[4, ‘nk’, 6] [4, ‘nk’, 6]
[4, ‘nk’, 6] [‘nk’, ‘cn’]
[4, ‘nk’, 6] [4, 333, 6]
[4, [‘cn’, 6]] [[‘cn’, 6]]
[4, [‘cn’, 6]] [4, ‘nk’] -
写出下面程序的运行结果。
s1={1,2,3}
s2=set([2,3,3,4])
s1.add(3)
s2.update(‘ab’)
s3=s1.intersection(s2)
s4=s1.union(s2)
s5=s1.difference(s2)
s6=s1.symmetric_difference(s2)
print(s1)
print(s2)
print(s3)
print(s4)
print(s5)
print(s6)
答:运行结果为:
{1, 2, 3}
{2, 3, 4, ‘b’, ‘a’}
{2, 3}
{1, 2, 3, 4, ‘a’, ‘b’}
{1}
{1, 4, ‘b’, ‘a’} -
写出下面程序的运行结果。
d1={‘name’:“zhangsan”,‘sno’:“001”,‘score’:99}
d2=dict().fromkeys([‘radius’,‘height’],0)
print(d1)
print(d2)
d1.update({‘age’:19})
d2.update(radius=10)
print(d1)
print(d2)
del d1[‘age’]
height=d2.pop(‘height’,‘not found’)
print(d1)
print(d2)
print(height)
print(len(d1))
print(len(d2))
答:运行结果为:
{‘name’: ‘zhangsan’, ‘sno’: ‘001’, ‘score’: 99}
{‘radius’: 0, ‘height’: 0}
{‘name’: ‘zhangsan’, ‘sno’: ‘001’, ‘score’: 99, ‘age’: 19}
{‘radius’: 10, ‘height’: 0}
{‘name’: ‘zhangsan’, ‘sno’: ‘001’, ‘score’: 99}
{‘radius’: 10}
0
3
1 -
写出下面程序的运行结果。
s1=[1,2,3,4,5,6,7,8,9,10]
s2=list(range(10,20))
s3=s1[2:8:2]
s4=s2[-8::-2]
print(s1)
print(s2)
print(s3)
print(s4)
答:运行结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[3, 5, 7]
[12, 10] -
该程序用到字典的浅拷贝和深拷贝,已知程序运行结果,请将程序填写完整。
import copy
d1={‘name’:“zhangsan”,‘sno’:“001”,‘score’:{‘math’:99,‘C++’:88}}
d2=d1.copy()
d3=copy.deepcopy(d1)
d1[‘name’]=“li”
d1[‘score’][‘C++’]=90
print(d1)
print(d2)
print(d3)
已知程序运行结果为:
{‘name’: ‘li’, ‘sno’: ‘001’, ‘score’: {‘math’: 99, ‘C++’: 90}}
{‘name’: ‘zhangsan’, ‘sno’: ‘001’, ‘score’: {‘math’: 99, ‘C++’: 90}}
{‘name’: ‘zhangsan’, ‘sno’: ‘001’, ‘score’: {‘math’: 99, ‘C++’: 88}}
点个👍吧,秋梨膏!!!!!,建议收藏一波