Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Sự khác biệt giữa iterator và iterable trong Python
Quá trình lặp là cách sử dụng vòng lặp để truy cập các phần tử của một chuỗi. Trong Python, có hai khái niệm liên quan: iterator và iterable. Mặc dù thường bị nhầm lẫn nhưng chúng có ý nghĩa khác nhau. Một cách đơn giản, iterable là đối tượng có thể duyệt qua, còn iterator là một đối tượng giữ trạng thái và có thể cung cấp giá trị tiếp theo mỗi lần nó được duyệt.
Lưu ý: Mọi iterator đều là iterable, nhưng không phải mọi iterable đều là iterator.
Iterable trong Python
Iterable là một chuỗi dữ liệu có thể duyệt qua, nghĩa là bạn có thể dùng vòng lặp for
để lặp qua các phần tử trong chuỗi. Các ví dụ của iterable bao gồm:
- List
- Tuple
- Chuỗi
- Dictionary
- Set
- Generator
Ta có thể tạo một iterator từ một iterable bằng hàm iter()
trong Python. Tuy nhiên, khi sử dụng vòng lặp, không cần thiết phải gọi iter()
hay tự thao tác với đối tượng iterator vì vòng lặp sẽ tự động thực hiện điều này.
Bài viết này được đăng tại [free tuts .net]
Ví dụ:
colors = ['Đen', 'Tím', 'Xanh lá'] for color in colors: print(color)