การแปลงแบบองค์รวมด้วยลูป
รายการประเภทโปเกมอนทั้งหมดที่เป็นไปได้ถูกโหลดไว้ในเซสชันของคุณแล้วในชื่อ pokemon_types และแสดงผลในคอนโซลเพื่อความสะดวก
เราต้องการรวบรวมคู่ประเภทโปเกมอนที่เป็นไปได้ทั้งหมด โดยเก็บแต่ละคู่ไว้ในลิสต์แยกกัน พร้อมใส่ดัชนีที่ระบุหมายเลขเป็นองค์ประกอบแรกของแต่ละลิสต์ วิธีนี้ช่วยให้เห็นจำนวนคู่ทั้งหมดและมีป้ายกำกับดัชนีสำหรับแต่ละคู่ด้วย
ลูปด้านล่างถูกเขียนขึ้นเพื่อทำงานนี้:
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)
มาทำให้ลูปนี้มีประสิทธิภาพมากขึ้นด้วยการแปลงแบบองค์รวมกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียน Python Code ที่มีประสิทธิภาพ
คำแนะนำการฝึกหัด
- โมดูล
itertoolsได้โหลดcombinationsไว้ในเซสชันแล้ว ให้ใช้เพื่อสร้างลิสต์ชื่อpossible_pairsที่เก็บคู่ประเภทโปเกมอนที่เป็นไปได้ทั้งหมด (แต่ละคู่มีประเภทโปเกมอน2ประเภท) - สร้างลิสต์ว่างชื่อ
enumerated_tuplesไว้เหนือลูป for - ใช้ฟังก์ชันบิวต์อินเพื่อแปลงแต่ละ tuple ใน
enumerated_tuplesให้เป็นลิสต์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Collect all possible pairs using combinations()
possible_pairs = [*____(pokemon_types, ____)]
# Create an empty list called enumerated_tuples
____ = ____
for i,pair in enumerate(possible_pairs, 1):
enumerated_pair_tuple = (i,) + pair
enumerated_tuples.append(enumerated_pair_tuple)
# Convert all tuples in enumerated_tuples to a list
enumerated_pairs = [*____(____, enumerated_tuples)]
print(enumerated_pairs)