考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

下列哪一项不可以当做字典的键:
A. 数字
B. 字符串
C. 元组
D. 列表
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:D: 列表。

### 分析:

在 Python 中,字典的键必须是可哈希的(hashable),这意味着该键的哈希值在其生命周期中是不可变的。

- **A: 数字**
数字(整数、浮点数等)是不可变的,因此是可哈希的,可以作为字典的键。

- **B: 字符串**
字符串是不可变的,因此是可哈希的,可以作为字典的键。

- **C: 元组**
元组本身是不可变的,因此是可哈希的。不过要注意的是,如果元组中包含可变对象,比如列表,那么该元组就不可哈希,不能用作字典的键。

- **D: 列表**
列表是可变的,这意味着它们的内容可以在创建后被更改,因此它们是不可哈希的,不能作为字典的键。

以下是一个简单的示例展示为什么列表不能作为字典的键:

```python
# 尝试使用列表作为字典键
my_dict = {
[1, 2, 3]: "This is a list"
}
```

上述代码将引发 `TypeError: unhashable type: 'list'`,因为列表是可变的,不符合键的要求。

### 小结

- 数字、字符串、和仅包含不可变对象的元组都可以作为字典的键,因为它们是不可变的且可哈希。
- 列表不能作为字典的键,因为它们是可变的,不可哈希。