📜  python 元组键字典 - Python (1)

📅  最后修改于: 2023-12-03 15:19:07.439000             🧑  作者: Mango

Python元组键字典

在Python中,元组是不可变的有序序列,而字典是一个可变的无序键/值对的集合。但是,在某些情况下,您可能需要把元组作为字典的键来使用。这时,就需要使用元组键字典。

什么是元组键字典?

元组键字典是一个字典,其中键为元组。元组可以包含一个或多个不可变对象,例如字符串、数字或其它元组。使用元组键字典,可以将元组和其它不可变对象作为键,用来索引和访问字典中的值。

如何创建元组键字典?

使用元组键字典非常简单,只需要在创建字典时,将元组作为键即可:

# 创建一个元组键字典
tuple_dict = {('john', 'doe'): 1234, ('jane', 'smith'): 5678}

在上面的例子中,我们定义了一个包含两个元素的元组,其中第一个元素是名字,第二个元素是姓。这样,我们可以将这个元组作为键来索引字典中的值。

如何访问元组键字典?

访问元组键字典中的值与访问普通字典中的值类似:

# 访问一个元组键字典中的值
print(tuple_dict[('john', 'doe')]) # 1234
print(tuple_dict[('jane', 'smith')]) # 5678
元组键字典的限制

需要注意的是,元组键字典的元组必须只包含不可变的元素。否则会报错:

# 报错示例
tuple_dict = {(['john'], 'doe'): 1234}
# TypeError: unhashable type: 'list'

这是因为,只有不可变对象才能保证元组的哈希值不变。如果元组包含一个可变对象,那么当可变对象发生变化时,元组的哈希值也会随之变化。

总结

元组键字典可以将元组作为字典的键来使用,用来索引和访问字典中的值。需要注意的是,元组键字典的元组必须只包含不可变的元素,否则会报错。