Nếu cần xác định modulo (phép chia lấy dư) của các phần tử tuple, có thể dùng phương thức zip và biểu thức generator.
Generator là cách đơn giản để tạo iterator. Nó tự động triển khai lớp với các phương thức __iter__() và __next__(), theo dõi trạng thái nội bộ và ném ngoại lệ StopIteration khi không còn giá trị nào để trả về.
Phương thức zip nhận các iterable, gộp chúng thành tuple và trả về kết quả.
Dưới đây là ví dụ minh họa:
Ví dụ
my_tuple_1 = (67, 45, 34, 56)
my_tuple_2 = (99, 123, 10, 56)
print("Tuple đầu tiên là:")
print(my_tuple_1)
print("Tuple thứ hai là:")
print(my_tuple_2)
my_result = tuple(elem_1 % elem_2 for elem_1, elem_2 in zip(my_tuple_1, my_tuple_2))
print("Tuple modulus là:")
print(my_result)Kết quả
Tuple đầu tiên là: (67, 45, 34, 56) Tuple thứ hai là: (99, 123, 10, 56) Tuple modulus là: (67, 45, 4, 0)
Giải thích
- Định nghĩa hai tuple và hiển thị trên bảng điều khiển.
- Hai tuple được ghép bằng
zip, duyệt qua dùng generator expression. - Thực hiện phép modulo trên mỗi phần tử từ tuple đầu và phần tử tương ứng của tuple thứ hai.
- Chuyển đổi thành tuple, lưu vào biến.
- Biến này là đầu ra hiển thị trên bảng điều khiển.