Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Khác biệt giữa tuple và dictionary trong Python?


Hai cấu trúc dữ liệu hoàn toàn khác biệt.

Tuple:

  • Thứ tự được duy trì.
  • Immutable (bất biến).
  • Chứa được mọi kiểu, có thể trộn kiểu.
  • Truy cập bằng chỉ số số (zero-based index).

Dictionary (bảng băm/hash table):

  • Thứ tự không đảm bảo (Python 3.7+ giữ insertion order nhưng bản chất là hash table).
  • Mỗi entry có key và value.
  • Truy cập bằng giá trị của key.
  • Entry có thể thay đổi (mutable).
  • Key: bất kỳ kiểu hashable nào (không phải dict), có thể trộn kiểu; Value: bất kỳ kiểu nào (kể cả dict lồng), có thể trộn kiểu.

Cả hai đều có thể tạo bằng comprehension.

Ví dụ:

Tuple: (1, 'a', (3, 6, 8), 'string')
Dictionary: {'foo': [1, 2, 3], 'bar': 'baz'}