Alp*_*nse 8 python tuples list
是否存在使用列表导致错误的情况,您必须使用元组代替?
我对元组和列表的属性有所了解,但还不足以找到这个问题的答案.如果问题是相反的,那就是列表可以调整但元组却没有.
Max*_*keh 14
您可以使用元组作为字典键,因为它们是不可变的,但您不能使用列表.例如:
d = {(1, 2): 'a', (3, 8, 1): 'b'} # Valid.
d = {[1, 2]: 'a', [3, 8, 1]: 'b'} # Error.
Run Code Online (Sandbox Code Playgroud)
由于它们不可改变的性质,元组(不同于列表)是可以清除的.这就是允许元组成为字典中的键以及集合成员的原因.严格来说,这是他们的可靠性,而不是他们的不变性.
因此,除了已经给出的字典键答案之外,还有一些适用于元组但不适用于列表的其他内容:
>>> hash((1, 2))
3713081631934410656
>>> set([(1, 2), (2, 3, 4), (1, 2)])
set([(1, 2), (2, 3, 4)])
Run Code Online (Sandbox Code Playgroud)