习题
选择题
如何在Python中创建一个空集合?
A.set{}
B.set()
C.{}
D.[]
2.如何使用切片操作来获取列表my_list的从第2个元素到倒数第3个元素(包括本身)的所有元素?
A.my_list[1:-3]
B.my_list[2:-2]
C.my_list[1:-2]
D.my_list[2,-3]
3.关于以下程序输出结果的描述,正确的选项是:????????????????????????????????????????????????
l=[1,2,3,4,5,6,7]
print(l.pop(0),len(l))
A.16
17
07
06
在Python中,下列哪个选项是正确的元组拆包(tupleunpacking)语法?
a,b=(1,2)
ab=(1,2)
(a,b)=1,2
a,b-(1,2)
在Python中,下列哪种方法可以实现对字典的合并(不会改变原字典)?
A.dict1+dict2
B.dict1.extend(dict2)
C.{**dict1,**dict2}
D.dict1.update(dict2)
对错题
Python3中的字典和集合都是有序存储的。
在Python中使用列表推导式时,可以使用if语句进行条件过滤,但不能使用elif或else语句
列表切片得到的列表中的数据是原有数据的拷贝,而不是原有列表的元素。
列表在存取元素时要比元组慢。
在Python中,要检查一个元素是否在字典中,与检查一个元素是否在集合中的时间复杂度相同。
填空题
可以使用一行代码:获取my_list=[1,2,3,4,5,6]中所有3的倍数的元素组成的列表。
使用_______方法可以向字典中添加一个新的键值对。
在执行x,y,z=input().split()时,发生了序列的过程。
使用生成一个以4为开始,10为结束的,每次递增2的等差数列.
_______内置函数可以将一个列表转换为集合。
简答题
简要说明列表、元组、集合与字典这几种数据结构的相同点和不同点。
列表查找有几种方法?每种方法的主要特点是什么?
什么是元组封装和序列拆封?这两种特性如何在编程中应用?试举例说明。
集合和字典的底层数据结构是怎么实现的?
请简要叙述列表、元组、集合、字典这四种不同数据结构适合什么样的应用场景。
答案:
选择题
BCAAC
对错题
FTFTT
填空题
[iforiinmy_listifi%3==0]
update
拆包/拆封
range(4,10,2)
set()
简答题
相同点:都可以存储一系列数据。支持使用in关键字进行成员检查。支持使用len()函数获取元素数量。
不同点:列表(List):有序的可变数据结构,使用方括号`[]`表示。列表中的元素可以是不同的数据类型,支持添加、删除、修改操作。列表支持索引和切片。元组(Tuple):有序的不可变数据结构,使用圆括号`()`表示。元组中的元素可以是不同的数据类型,但是不支持添加、删除、修改操作。元组支持索引和切片。集合(Set):无序的可变数据结构,使用花括号`{}`表示。集合中的元素必须是唯一的,不支持重复。集合中的元素必须是不可变数据类型(如数字、字符串、元组等)。集合支持添加、删除操作,但不支持修改操作。集合不支持索引和切片。字典(Dictionary):无序的可变数据结构,(Python3中变得有序)使用花括号`{}`表示。字典是键值对(key-valuepair)的集合。字典中的键必须是唯一的,不支持重复,且必须是不可变数据类型。字典支持添加、删除、修改操作。字典不支持索引和切片,而是通过键访问相应的值。(言之有理即可)
1.in关键字:简单易用,检查元素是否在列表中。
2.index()`方法:查找元素并返回其索引,如果元素不存在则抛出ValueError。
3.列表推导式:筛选满足特定条件的元素。
4.enumerate()函数:返回元素及其索引,适用于需要保留索引的场景。
元组封装(Tuplepacking):将多个值组合成一个元组的过程称为元组封装。在Python中,你可以将多个值用逗号分隔,无需使用圆括号,Python会自动将它们组合成一个元组。例如:
packed_tuple=1,2,3
print(packed_tuple)#输出:(1,2,3)
序列拆封(Sequenceunpacking):将序列(如元组、列表等)