正確答案是:D: 列表。
### 分析:
在 Python 中,字典的鍵必須是可哈希的(hashable),這意味著該鍵的哈希值在其生命周期中是不可變的。
- **A: 數(shù)字**
數(shù)字(整數(shù)、浮點數(shù)等)是不可變的,因此是可哈希的,可以作為字典的鍵。
- **B: 字符串**
字符串是不可變的,因此是可哈希的,可以作為字典的鍵。
- **C: 元組**
元組本身是不可變的,因此是可哈希的。不過要注意的是,如果元組中包含可變對象,比如列表,那么該元組就不可哈希,不能用作字典的鍵。
- **D: 列表**
列表是可變的,這意味著它們的內容可以在創(chuàng)建后被更改,因此它們是不可哈希的,不能作為字典的鍵。
以下是一個簡單的示例展示為什么列表不能作為字典的鍵:
```python
# 嘗試使用列表作為字典鍵
my_dict = {
[1, 2, 3]: "This is a list"
}
```
上述代碼將引發(fā) `TypeError: unhashable type: 'list'`,因為列表是可變的,不符合鍵的要求。
### 小結
- 數(shù)字、字符串、和僅包含不可變對象的元組都可以作為字典的鍵,因為它們是不可變的且可哈希。
- 列表不能作為字典的鍵,因為它們是可變的,不可哈希。