Itertools Python là gì

Đối số thứ nhất nhận 0 hoặc nhiều đối số, mỗi đối số lặp lại, đối số thứ hai sẽ nhận một đối số được dự kiến ​​sẽ tạo ra các đối tượng lặp:

itertools.chain[list1, list2, list3] iterables = [list1, list2, list3] itertools.chain.from_iterable[iterables]

nhưng iterables có thể là bất kỳ trình lặp nào mang lại các lần lặp.

def generate_iterables[]: for i in range[10]: yield range[i] itertools.chain.from_iterable[generate_iterables[]]

Sử dụng hình thức thứ hai thường là một trường hợp thuận tiện, nhưng vì nó lặp đi lặp lại các lần lặp đầu vào một cách lười biếng, đó cũng là cách duy nhất bạn có thể xâu chuỗi một vô hạn số lượng các trình lặp hữu hạn:

def generate_iterables[]: while True: for i in range[5, 10]: yield range[i] itertools.chain.from_iterable[generate_iterables[]]

Ví dụ trên sẽ cung cấp cho bạn một lần lặp mang lại mô hình số chu kỳ sẽ không bao giờ dừng, nhưng sẽ không bao giờ tiêu tốn nhiều bộ nhớ hơn so với những gì một cuộc gọi range[] yêu cầu.

Video liên quan

Chủ Đề