2011-08-12 35 views
8

Làm thế nào tôi có thể hướng dẫn trăn để lưu trữ, nội bộ, một phiên bản trước băm của chuỗi của tôi, để nó sẽ sử dụng giá trị đó khi tôi thực hiện tra cứu dict/set bằng chuỗi của tôi làm khóa?Phím chuỗi được băm trước để tra cứu từ điển Python nhanh hơn?

Tôi nhớ đọc về nó một vài tuần trước đây, nhưng không thể tìm thấy nó trong tài liệu python vào lúc này: -/

Trả lời

3

http://docs.python.org/library/functions.html#intern có lẽ là những gì bạn đang nghĩ đến việc.

+2

Lưu ý rằng có thể bạn không cần sử dụng điều này; băm của một chuỗi được tính một lần và được lưu trữ, và các chuỗi ký tự luôn luôn được tập trung. –

+0

Có, tôi đã tìm thấy nó ngay trước khi nhìn vào câu trả lời của bạn. Điều xấu là nó đòi hỏi các phím từ điển cũng đã được interned, và các từ điển tôi đang sử dụng đến từ một gói phần mềm của bên thứ ba. – jcayzac

+0

"chuỗi ký tự luôn luôn được tập trung:" điều này cũng áp dụng cho python cũ 2.5? – jcayzac

Các vấn đề liên quan