1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết mã Python hiệu quả

Connected

Bài tập

Vòng lặp chuyển đổi tổng thể

Danh sách tất cả các loại Pokémon khả dĩ đã được nạp vào phiên của bạn dưới tên pokemon_types. Danh sách này đã được in ra bảng điều khiển để bạn tiện theo dõi.

Bạn muốn thu thập tất cả các cặp loại Pokémon có thể có. Bạn muốn lưu mỗi cặp này trong một danh sách riêng, với một chỉ số được đánh số thứ tự là phần tử đầu tiên của mỗi danh sách. Cách này giúp bạn thấy tổng số cặp có thể có và cung cấp một nhãn chỉ mục cho từng cặp.

Vòng lặp dưới đây được viết để hoàn thành nhiệm vụ này:

enumerated_pairs = []

for i,pair in enumerate(possible_pairs, 1):
    enumerated_pair_tuple = (i,) + pair
    enumerated_pair_list = list(enumerated_pair_tuple)
    enumerated_pairs.append(enumerated_pair_list)

Hãy làm cho vòng lặp này hiệu quả hơn bằng cách dùng một chuyển đổi tổng thể.

Hướng dẫn

100 XP
  • combinations từ mô-đun itertools đã được nạp vào phiên của bạn. Hãy dùng nó để tạo một danh sách tên là possible_pairs chứa tất cả các cặp loại Pokémon có thể có (mỗi cặp có 2 loại Pokémon).
  • Tạo một danh sách rỗng tên là enumerated_tuples phía trên vòng lặp for.
  • Sử dụng một hàm dựng sẵn để chuyển đổi mỗi tuple trong enumerated_tuples thành list.