Mặc định python (bộ)

"Từ điển tiêu chuẩn bao gồm phương thức setdefault [] để truy xuất giá trị và thiết lập giá trị mặc định nếu giá trị không tồn tại. Ngược lại, hãy defaultdict to call the default default [giá trị được trả về] ở phía trước khi container được khởi động. "

Nội dung chính

  • default
  • Cách sử dụng defaultdict
  • Nhập defaultdict
  • Khởi tạo defaultdict
  • Nó làm việc như thế nào
  • Ví dụ trong câu hỏi

as được định nghĩa bởi Doug Hellmann trong Thư viện tiêu chuẩn Python theo ví dụ

Cách sử dụng defaultdict

Nhập defaultdict

>>> from collections import defaultdict

Khởi tạo defaultdict

Khởi tạo nó bằng cách vượt qua

có thể gọi là đối số đầu tiên của nó [bắt buộc]

>>> d_int = defaultdict[int]
>>> d_list = defaultdict[list]
>>> def foo[]:
...     return 'default value'
... 
>>> d_foo = defaultdict[foo]
>>> d_int
defaultdict[, {}]
>>> d_list
defaultdict[, {}]
>>> d_foo
defaultdict[, {}]

** kwargs là đối số thứ hai của nó [tùy chọn]

>>> d_int = defaultdict[int, a=10, b=12, c=13]
>>> d_int
defaultdict[, {'a': 10, 'c': 13, 'b': 12}]

or is

>>> kwargs = {'a':10,'b':12,'c':13}
>>> d_int = defaultdict[int, **kwargs]
>>> d_int
defaultdict[, {'a': 10, 'c': 13, 'b': 12}]

Nó làm việc như thế nào

Là một lớp con của từ điển chuẩn, nó có thể thực hiện tất cả các chức năng tương tự

Tuy nhiên, trong trường hợp truyền một từ khóa không xác định, nó sẽ trả về giá trị mặc định thay vì lỗi. Ví dụ.

>>> d_int['a']
10
>>> d_int['d']
0
>>> d_int
defaultdict[, {'a': 10, 'c': 13, 'b': 12, 'd': 0}]

Trong trường hợp bạn muốn thay đổi giá trị mặc định, hãy ghi đè default_factory

>>> d_int.default_factory = lambda: 1
>>> d_int['e']
1
>>> d_int
defaultdict[, {'a': 10, 'c': 13, 'b': 12, 'e': 1, 'd': 0}]

or is

>>> def foo[]:
...     return 2
>>> d_int.default_factory = foo
>>> d_int['f']
2
>>> d_int
defaultdict[, {'a': 10, 'c': 13, 'b': 12, 'e': 1, 'd': 0, 'f': 2}]

Ví dụ trong câu hỏi

ví dụ 1

Vì int đã được truyền dưới dạng default_factory, bất kỳ từ khóa nào không xác định sẽ trả về 0 theo mặc định

Bây giờ khi chuỗi được truyền trong vòng lặp, nó sẽ tăng số lượng bảng chữ cái đó trong d

>>> s = 'mississippi'
>>> d = defaultdict[int]
>>> d.default_factory

>>> for k in s:
...     d[k] += 1
>>> d.items[]
[['i', 4], ['p', 2], ['s', 4], ['m', 1]]
>>> d
defaultdict[, {'i': 4, 'p': 2, 's': 4, 'm': 1}]

Ví dụ 2

Vì một danh sách đã được truyền dưới dạng default_factory, bất kỳ từ khóa nào không xác định [không tồn tại] nào sẽ trả về [] [tức là danh sách] theo mặc định

Bây giờ khi danh sách các bộ dữ liệu được truyền trong vòng lặp, nó sẽ kết nối các giá trị bổ sung trong d [color]

Chủ Đề