Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lũy thừa các phần tử Tuple theo Tuple khác trong Python


Khi cần lũy thừa các phần tử của một tuple theo lũy thừa của tuple khác, có thể dùng phương thức zip và biểu thức generator.

Phương thức zip nhận các iterable, gộp chúng thành tuple và trả về kết quả.

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ề.

Dưới đây là ví dụ minh họa:

Ví dụ

my_tuple_1 = (7, 8, 3, 4, 3, 2)
my_tuple_2 = (9, 6, 8, 2, 1, 0)

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 lũy thừa theo tuple khác:")
print(my_result)

Kết quả

Tuple đầu tiên là:
(7, 8, 3, 4, 3, 2)
Tuple thứ hai là:
(9, 6, 8, 2, 1, 0)
Tuple lũy thừa theo tuple khác:
(40353607, 262144, 6561, 16, 3, 1)

Giải thích

  • Định nghĩa hai tuple và hiển thị trên bảng điều khiển.
  • Duyệt qua, ghép chúng bằng zip.
  • Lấy phần tử đầu tiên làm cơ số, phần tử thứ hai làm số mũ từ cả hai tuple dùng toán tử **.
  • Chuyển đổi thành tuple.
  • Gán phép toán cho một biến.
  • Biến này là đầu ra hiển thị trên bảng điều khiển.