chính sách

dict là một kiểu tích hợp sẵn, đại diện cho một ánh xạ kết hợp hoặc từ điển. Từ điển hỗ trợ lập chỉ mục bằng cách sử dụng d[k] và kiểm tra tư cách thành viên khoá bằng cách sử dụng k in d; cả hai thao tác đều mất thời gian không đổi. Từ điển không đóng băng có thể thay đổi và có thể được cập nhật bằng cách gán cho d[k] hoặc bằng cách gọi một số phương thức nhất định. Từ điển có thể lặp lại; quá trình lặp lại tạo ra chuỗi khoá theo thứ tự chèn. Thứ tự lặp lại không bị ảnh hưởng bởi việc cập nhật giá trị được liên kết với một khoá hiện có, nhưng bị ảnh hưởng bởi việc xoá rồi chèn lại một khoá.
d = {0: "x", 2: "z", 1: "y"}
[k for k in d]  # [0, 2, 1]
d.pop(2)
d[0], d[2] = "a", "b"
0 in d, "a" in d  # (True, False)
[(k, v) for k, v in d.items()]  # [(0, "a"), (1, "y"), (2, "b")]

Có 4 cách để tạo từ điển:

  1. Biểu thức từ điển {k: v, ...} tạo ra một từ điển mới có các mục nhập khoá/giá trị được chỉ định, được chèn theo thứ tự xuất hiện trong biểu thức. Quá trình đánh giá sẽ không thành công nếu có 2 biểu thức khoá tạo ra cùng một giá trị.
  2. Hiểu từ điển {k: v for vars in seq} tạo ra một từ điển mới mà mỗi cặp khoá/giá trị được chèn vào theo thứ tự lặp lại vòng lặp. Cho phép các mục trùng lặp: lần chèn đầu tiên của một khoá nhất định sẽ xác định vị trí của khoá đó trong chuỗi và lần chèn cuối cùng sẽ xác định giá trị được liên kết.
    {k: v for k, v in (("a", 0), ("b", 1), ("a", 2))}  # {"a": 2, "b": 1}
    {i: 2*i for i in range(3)}  # {0: 0, 1: 2, 2: 4}
    
  3. Lệnh gọi đến hàm dict tích hợp sẵn sẽ trả về một từ điển chứa các mục nhập được chỉ định, được chèn theo thứ tự đối số, đối số vị trí trước đối số có tên. Tương tự như hiểu, cho phép các khoá trùng lặp.
  4. Biểu thức hợp nhất x | y tạo ra một từ điển mới bằng cách kết hợp 2 từ điển hiện có. Nếu 2 từ điển có một khoá k chung, thì giá trị của khoá trong từ điển phía bên phải (nói cách khác là y[k]) sẽ được ưu tiên. Biến thể |= của toán tử hợp nhất sẽ sửa đổi một từ điển tại chỗ. Ví dụ:
    d = {"foo": "FOO", "bar": "BAR"} | {"foo": "FOO2", "baz": "BAZ"}
    # d == {"foo": "FOO2", "bar": "BAR", "baz": "BAZ"}
    d = {"a": 1, "b": 2}
    d |= {"b": 3, "c": 4}
    # d == {"a": 1, "b": 3, "c": 4}

Hội viên

xóa

None dict.clear()

Xoá tất cả các mục khỏi từ điển.

get

unknown dict.get(key, default=None)

Trả về giá trị cho key nếu key nằm trong từ điển, nếu không thì trả về default. Nếu bạn không cung cấp default, thì giá trị mặc định sẽ là None, để phương thức này không bao giờ gửi lỗi.

Tham số

Tham số Mô tả
key bắt buộc
Khoá cần tìm.
default giá trị mặc định là None
Giá trị mặc định để sử dụng (thay vì None) nếu không tìm thấy khoá.

items

list dict.items()

Trả về danh sách các bộ khoá-giá trị:
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]

khoá

list dict.keys()

Trả về danh sách khoá:
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

pop

unknown dict.pop(key, default=unbound)

Xoá một key khỏi dict và trả về giá trị được liên kết. Nếu không tìm thấy mục nhập nào có khoá đó, hãy không xoá gì và trả về giá trị default được chỉ định; nếu không chỉ định giá trị mặc định, hãy không thành công.

Tham số

Tham số Mô tả
key bắt buộc
Khoá.
default giá trị mặc định là unbound
giá trị mặc định nếu không có khoá.

popitem

tuple dict.popitem()

Xoá và trả về cặp (key, value) đầu tiên khỏi từ điển. popitem rất hữu ích để lặp lại một cách phá huỷ trên một từ điển, thường được sử dụng trong các thuật toán tập hợp. Nếu từ điển trống, lệnh gọi popitem sẽ không thành công.

setdefault

unknown dict.setdefault(key, default=None)

Nếu key nằm trong từ điển, hãy trả về giá trị của khoá đó. Nếu không, hãy chèn khoá có giá trị default và trả về default. default mặc định là None.

Tham số

Tham số Mô tả
key bắt buộc
Khoá.
default giá trị mặc định là None
giá trị mặc định nếu không có khoá.

cập nhật

None dict.update(pairs=[], **kwargs)

Trước tiên, hãy cập nhật từ điển bằng đối số vị trí không bắt buộc, pairs, sau đó bằng các đối số từ khoá không bắt buộc Nếu đối số vị trí có mặt, thì đối số đó phải là một dict, có thể lặp lại hoặc None. Nếu đó là một dict, thì các cặp khoá/giá trị của dict đó sẽ được chèn vào dict này. Nếu đó là một đối tượng có thể lặp lại, thì đối tượng đó phải cung cấp một chuỗi các cặp (hoặc các đối tượng có thể lặp lại khác có độ dài là 2), mỗi đối tượng được coi là một cặp khoá/giá trị cần chèn. Mỗi đối số từ khoá name=value khiến cặp tên/giá trị được chèn vào dict này.

Tham số

Tham số Mô tả
pairs giá trị mặc định là []
Một từ điển hoặc một danh sách các mục nhập. Các mục nhập phải là bộ hoặc danh sách có đúng 2 phần tử: khoá, giá trị.
kwargs bắt buộc
Từ điển của các mục nhập bổ sung.

Giá trị

list dict.values()

Trả về danh sách giá trị:
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]