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 từ điển. Từ điển hỗ trợ lập chỉ mục bằng d[k]
và kiểm thử thành viên chính 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 không bị ảnh hưởng bởi việc 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: "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 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. Quá trình đánh giá sẽ không thành công nếu có hai biểu thức khoá nào đó trả về cùng một giá trị. - 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}
- 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 tên. Giống như với các biểu thức hiểu biết, các khoá trùng lặp được phé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 bên phải (tức lày[k]
) sẽ 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 không được cung cấp, default
sẽ mặc định 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ì Không có) nếu không tìm thấy khoá. |
mục
list dict.items()Trả về danh sách các cặp 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]
nhạc pop
unknown dict.pop(key, default=unbound)Xoá
key
khỏi dict và trả về giá trị được liên kết. 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.
Thông số
Thông số | Mô tả |
---|---|
key
|
bắt buộc Khoá. |
default
|
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
hữu ích để lặp lại một cách có hại trên 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)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ị là default
và trả về default
. default
mặc định là None
.
Thông số
Thông số | Mô tả |
---|---|
key
|
bắt buộc Khoá. |
default
|
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 đó cập nhật bằng 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à một từ điển, có thể lặp lại hoặc rỗng.
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 đó phải cung cấp một trình tự 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 chèn.
Mỗi đối số từ khoá name=value
sẽ chèn cặp tên/giá trị vào từ điển này.
Thông số
Thông số | Mô tả |
---|---|
pairs
|
mặc định là [] Một từ điển hoặc danh sách các mục nhập. Mục nhập phải là các bộ dữ liệu hoặc danh sách có đúng hai phần tử: khoá, giá trị. |
kwargs
|
bắt buộc Từ điển của các mục bổ sung. |
giá trị
list dict.values()Trả về danh sách giá trị:
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]