Python cơ bản - Module collection

Module collection trong Python

Module collection trong Python được định nghĩa là một bộ chứa được sử dụng để lưu trữ các bộ sưu tập dữ liệu, ví dụ: list, dict, set và tuple,... Nó được giới thiệu để cải thiện các chức năng của bộ chứa bộ sưu tập tích hợp.

Module collection trong Python được giới thiệu lần đầu tiên trong phiên bản 2.4.

Có nhiều loại Module collection khác nhau như sau:

Hàm namedtuple()

Hàm python namedtuple() trả về một đối tượng giống như tuple với tên cho từng vị trí trong bộ dữ liệu. Nó được sử dụng để loại bỏ vấn đề ghi nhớ chỉ số của từng trường của một đối tượng bộ dữ liệu trong các bộ dữ liệu thông thường.

test = ('Hello', 24, 'M')  
print(test) 

Kết quả:

('Hello', 24, 'M')

Hàm OrderedDict()

Python OrderedDict() tương tự như một đối tượng Dictionary trong đó các khóa duy trì thứ tự chèn. Nếu chúng ta cố gắng chèn khóa một lần nữa, giá trị trước đó sẽ bị ghi đè cho khóa đó.

import collections  
d1 = collections.OrderedDict()  
d1['A'] = 10 
d1['C'] = 12 
d1['B'] = 11 
d1['D'] = 13 
d1['C'] = 15 
   
for k, v in d1.items():  
    print (k, v) 

Kết quả:

A 10
C 15
B 11
D 13

Hàm defaultdict()

Python defaultdict() được định nghĩa là một đối tượng giống như dictionary. Nó là một lớp con của lớp dict. Nó cung cấp tất cả các phương thức được cung cấp bởi dictionary nhưng lấy đối số đầu tiên làm kiểu dữ liệu mặc định.

from collections import defaultdict
number = defaultdict(int)
number['one'] = 1
number['two'] = 2
print(number['three'])

Kết quả:

0

Hàm Counter()

Python Count() là một lớp con của đối tượng từ điển giúp đếm các đối tượng hashtable.

from collections import Counter
c = Counter()
list = [1, 2, 3, 4, 5, 7, 8, 5, 9, 6, 10]
Counter(list)
Counter({1:5, 2:4})
list = [1, 2, 4, 7, 5, 1, 6, 7, 6, 9, 1]
c = Counter(list)
print(c[1])

Kết quả:

3

Hàm deque()

Python deque() là hàng đợi hai đầu cho phép chúng ta thêm và xóa các phần tử ở cả hai đầu.

from collections import deque
list = ["x", "y", "z"]
deq = deque(list)
print(deq)

Kết quả:

deque(['x', 'y', 'z'])