“元组可以作为字典的“键””这句话正确吗
时间: 2023-10-01 15:06:41 浏览: 147
这句话是正确的。在 Python 中,元组可以作为字典的“键”。这是因为元组是不可变的对象,可以进行哈希,满足字典“键”的要求。例如:
```python
>>> d = {('a', 1): 'apple', ('b', 2): 'banana'}
>>> d[('a', 1)]
'apple'
>>> d[('b', 2)]
'banana'
```
在这个例子中,我们创建了一个字典 d,其中包含两个元素,每个元素的“键”都是一个元组。我们可以使用元组作为“键”来获取对应的“值”,例如 d[('a', 1)] 返回 'apple'。
相关问题
包含列表的元组可以作为字典的键。
元组可以作为字典的键,但是包含列表的元组不能作为字典的键。这是因为字典中的键必须是不可变对象,而列表是可变对象。如果一个元组包含一个列表,那么这个元组也是可变的,因为它包含了可变的对象。因此,包含列表的元组不能作为字典的键。如果要使用一个元组作为字典的键,那么这个元组必须只包含不可变对象,比如字符串、数字、元组等。
“列表可以作为字典的“键””这句话正确吗
这句话是不正确的。在 Python 中,字典的“键”必须是不可变的对象,例如数字、字符串、元组等。这是因为字典是通过哈希表来实现的,哈希表的实现方式要求“键”必须是可哈希的,也就是说,它们的哈希值在字典中是唯一的,而可变对象(例如列表、字典等)是不能进行哈希的,因此不能作为字典的“键”。如果尝试将一个列表作为字典的“键”,Python 解释器会抛出 TypeError 异常,提示“unhashable type: 'list'”。