dict là một kiểu tích hợp sẵn, biểu thị một mối liên kết 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 thử 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 chưa cố định có thể thay đổi và có thể được cập nhật bằng cách chỉ định 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 sẽ tạo ra chuỗi khoá theo thứ tự chèn. Thứ tự lặp lại không bị ảnh hưởng khi bạn cập nhật giá trị được liên kết với một khoá hiện có, nhưng sẽ bị ảnh hưởng khi bạn 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:
- Biểu thức từ điển
{k: v, ...}
tạo ra một từ điển mới có các mục 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ẽ thất bại nếu có hai biểu thức khoá cho ra cùng một giá trị. - Một biểu thức tạo 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 theo thứ tự lặp vòng lặp. Cho phép 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 của khoá đó.{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}
- 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 đượ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ư comprehensions, bạn có thể sử dụng các khoá trùng lặp.
- 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 một khoák
, 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()
get
unknown dict.get(key, default=None)
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.
Thông số
Thông số | 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ì None) nếu không tìm thấy khoá. |
mục
list dict.items()
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]
khoá
list dict.keys()
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]
nhạc pop
unknown dict.pop(key, default=unbound)
key
khỏi từ điển 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
đã chỉ định; nếu không chỉ định giá trị mặc định, hãy thất bại.
Thông số
Thông số | Mô tả |
---|---|
key
|
required Khoá. |
default
|
mặc định là unbound giá trị mặc định nếu khoá không có. |
popitem
tuple dict.popitem()
(key, value)
đầu tiên trong từ điển. popitem
rất hữu ích khi lặp lại một cách huỷ diệt trên một từ điển, thường được 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)
key
nằm trong từ điển, hãy trả về giá trị của key
. Nếu không, hãy chèn khoá có giá trị default
và trả về default
. default
mặc định là None
.
Thông số
Thông số | Mô tả |
---|---|
key
|
required Khoá. |
default
|
mặc định là None giá trị mặc định nếu khoá không có. |
cập nhật
None
dict.update(pairs=[], **kwargs)
pairs
, sau đó bằng các đối số từ khoá không bắt buộc. Nếu đối số vị trí xuất hiện, thì đối số đó phải là một từ điển, có thể lặp lại hoặc không có giá trị nào.
Nếu đó là một từ điển, thì các cặp khoá/giá trị của từ điển đó sẽ được chèn vào từ điển 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 2), mỗi cặp được coi là một cặp khoá/giá trị cần được chèn.
Mỗi đối số từ khoá name=value
sẽ khiến cặp tên/giá trị được chèn vào từ điển này.
Thông số
Thông số | Mô tả |
---|---|
pairs
|
mặc định là [] Có thể là một từ điển hoặc một danh sách các mục. Các mục phải là bộ hoặc danh sách có chính xác hai phần tử: khoá, giá trị. |
kwargs
|
required Từ điển gồm các mục bổ sung. |
giá trị
list dict.values()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]