Tôi là một chút bối rối về những gì có thể/không thể được sử dụng như một chìa khóa cho một dict python.Tại sao tôi không thể sử dụng danh sách dưới dạng khóa dict trong python?
dicked = {}
dicked[None] = 'foo' # None ok
dicked[(1,3)] = 'baz' # tuple ok
import sys
dicked[sys] = 'bar' # wow, even a module is ok !
dicked[(1,[3])] = 'qux' # oops, not allowed
Vì vậy, bộ túp là một loại không thay đổi nhưng nếu tôi ẩn danh sách bên trong, thì nó không thể là chìa khóa .. tôi có thể dễ dàng ẩn danh sách bên trong mô-đun không?
Tôi đã có một số ý tưởng mơ hồ rằng khóa phải là "băm" nhưng tôi sẽ thừa nhận sự thiếu hiểu biết của riêng tôi về các chi tiết kỹ thuật; Tôi không biết điều gì đang diễn ra ở đây. Điều gì sẽ xảy ra nếu bạn cố sử dụng danh sách dưới dạng khóa, với băm như vị trí bộ nhớ của chúng?
Đây là một cuộc thảo luận tốt: http://stackoverflow.com/questions/2671211/create-a-dictionary-in-python-which-is-indexed-by-lists – Hernan
Got a cười ra khỏi tên biến của bạn. – kindall