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 có 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; sẽ tạo ra chuỗi 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:
- 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ị. - 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 đã 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.
- 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()
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.
Tham số
Thông số | Mô tả |
---|---|
key
|
bắt buộc Khoá để tìm kiếm. |
default
|
giá trị 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()
{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 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á đó, hãy không xoá mục nào và trả về giá trị default
được chỉ định; nếu bạn không chỉ định giá trị mặc định nào thì quảng cáo sẽ không thành công.
Tham số
Thông số | Mô tả |
---|---|
key
|
bắt buộc Khoá. |
default
|
giá trị mặc định là unbound một giá trị mặc định nếu không có khoá. |
nhạc pop
tuple dict.popitem()
(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.
setdefault
unknown dict.setdefault(key, default=None)
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ố | Mô tả |
---|---|
key
|
bắt buộc Khoá. |
default
|
giá trị 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)
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í, đối số đó phải là một lệnh 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ố | Mô tả |
---|---|
pairs
|
giá trị mặc định là [] Có thể là từ điển hoặc danh sách các mục nhập. 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 bổ sung. |
giá trị
list dict.values()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]