chính sách

Báo cáo vấn đề Xem nguồn /3}·21}

dict là một loại tích hợp sẵn đại diện cho một ánh xạ liên kết hoặc dictionary. Từ điển hỗ trợ lập chỉ mục bằng cách sử dụng d[k] và kiểm thử thành viên khoá bằng k in d; cả hai thao tác đều mất thời gian không đổi. Từ điển không được cố định có thể thay đổi và 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; phép lặp lại tạo ra trình tự các khoá theo thứ tự chèn. Thứ tự lặp lại sẽ không bị ảnh hưởng khi bạn cập nhật giá trị liên kết với khoá hiện có, nhưng sẽ chịu ảnh hưởng của việc rút khoá rồi cắm lại khoá.
d = {0: 0, 2: 2, 1: 1}
[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, 1), (2, "b")]

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

  1. Biểu thức trong 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. Không đánh giá được nếu hai biểu thức khoá bất kỳ mang lại cùng một giá trị.
  2. Phần đọc 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. Có thể 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 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 đã chỉ định, được chèn theo thứ tự đối số, các đối số vị trí trước khi được đặt tên. Như với phần hiểu bài, bạn vẫn có thể sử dụng 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 hai từ điển hiện có. Nếu hai từ điển có chung khoá k, thì giá trị khoá của từ điển bên phải (nói cách khác là y[k]) sẽ giành chiến thắng. Biến thể |= của toán tử hợp nhất 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ị của key nếu key có 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ố

Thông số Nội dung mô tả
key bắt buộc
Khoá cần tìm.
default mặc định là None
Giá trị mặc định để sử dụng (thay vì Không có) 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 các khoá:
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

nhạc pop

unknown dict.pop(key, default=unbound)

Xoá key khỏi lệnh chính tả và trả về giá trị có liên quan. Nếu không tìm thấy mục nào có khoá đó, bạn không cần xoá mục nào và trả về giá trị default đã chỉ định. Nếu không tìm thấy giá trị mặc định nào thì bạn sẽ không thực hiện được thao tác này.

Tham số

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

nhạc pop

tuple dict.popitem()

Xoá và trả về cặp (key, value) đầu tiên từ từ điển. popitem rất hữu ích trong việc lặp lại toàn bộ từ điển theo cách có khả năng gây thiệt hại, như thường dùng trong các thuật toán đã đặt. Nếu từ điển trống, lệnh gọi popitem sẽ không thành công.

đặt làm mặc định

unknown dict.setdefault(key, default=None)

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

Tham số

Thông số Nội dung mô tả
key bắt buộc
Khoá.
default mặc định là None
một 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 đó cập nhật các đối số từ khoá không bắt buộc Nếu có đối số vị trí, thì đối số đó phải là chính tả, có thể lặp lại hoặc Không có. Nếu đó là một lệnh chính tả, thì các cặp khoá/giá trị của lệnh đó sẽ được chèn vào lệnh chính tả này. Nếu là một đối tượng có thể lặp lại, thì đối tượng này phải cung cấp một chuỗi cặp (hoặc các đối tượng lặp khác có độ dài 2), mỗi đối tượng này đượ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 lệnh chính tả này.

Tham số

Thông số Nội dung mô tả
pairs giá trị mặc định là []
Từ điển hoặc danh sách các mục. Mục nhập phải là bộ dữ liệu hoặc danh sách có chính xác hai phần tử: khoá, giá trị.
kwargs bắt buộc
Từ điển về các mục nhập bổ sung.

giá trị

list dict.values()

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