题目
集合可以作为元组的元素。A. 正确B. 错误
集合可以作为元组的元素。
A. 正确
B. 错误
题目解答
答案
A. 正确
解析
考查要点:本题主要考查Python中元组(tuple)和集合(set)的特性,特别是两者作为容器类型的嵌套规则。
核心思路:
- 元组是不可变类型,但其元素可以是任意数据类型,包括可变类型(如列表、字典)和不可变类型(如整数、字符串)。
- 集合是可变类型,但元组允许包含可变类型的元素。因此,集合可以作为元组的元素。
破题关键:
明确元组的不可变性仅指元组本身的结构不可变(即不能增删元素),但元素本身可以是可变的。集合虽然可变,但Python允许其作为元组的元素。
基本概念回顾
-
元组(tuple):
- 特性:不可变(一旦创建,元素不可修改)。
- 元素类型:可以是任意数据类型,包括可变类型(如列表、字典)和不可变类型(如整数、字符串)。
-
集合(set):
- 特性:可变(支持添加、删除元素)。
- 用途:存储无序且唯一元素。
关键逻辑分析
-
元组允许嵌套可变类型:
虽然元组本身不可变,但其元素可以是可变类型。例如:t = (1, [2, 3]) # 元组中包含列表(可变类型),合法同理,集合(set)作为可变类型,也可以作为元组的元素:
t = (1, {2, 3}) # 元组中包含集合,合法 -
哈希性与嵌套限制:
元组的哈希值在创建时确定。若元组包含可变元素(如集合),当这些元素被修改时,元组的哈希值会失效。但题目未涉及元组作为字典键的情况,仅需判断元素是否允许存在,因此不影响本题结论。