ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่จัดกลุ่มทูเพิลทั้งหมดที่มีองค์ประกอบแรกเหมือนกัน มาดูตัวอย่างให้เข้าใจกันชัดๆ
อินพุต
[(1, 2, 3), (1, 4, 5), (3, 4, 1), (3, 4, 2)]
ผลลัพธ์
[(1, 2, 3, 4, 5), (3, 4, 1, 4, 2)]
มาดูขั้นตอนการแก้ปัญหากัน
- เริ่มต้นรายการ
- เริ่มต้นพจนานุกรมเปล่า
- วนซ้ำในรายการทูเพิล
- ตรวจสอบว่าองค์ประกอบแรกของทูเพิลนั้นมีอยู่ในพจนานุกรมหรือไม่
- หากมีอยู่ ให้ผนวกค่าทูเพิลปัจจุบันโดยไม่มีค่าแรกกับค่าก่อนหน้า
- หากไม่มีอยู่ ให้เริ่มต้นคีย์ด้วยองค์ประกอบทูเพิลปัจจุบันรวมถึงองค์ประกอบแรกด้วย
- พิมพ์ค่าของ dict เป็นรายการ
ตัวอย่าง
# initializing the list tuples = [(1, 2, 3), (1, 4, 5), (3, 4, 1), (3, 4, 2)] # empty dict result = {} # iterating over the tuples for sub_tuple in tuples: # checking the first element of the tuple in the result if sub_tuple[0] in result: # adding the current tuple values without first one result[sub_tuple[0]] = (*result[sub_tuple[0]], *sub_tuple[1:]) else: # adding the tuple result[sub_tuple[0]] = sub_tuple # printing the result in list print(list(result.values()))
ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
[(1, 2, 3, 4, 5), (3, 4, 1, 4, 2)]
บทสรุป
คุณสามารถลองแก้ปัญหาด้วยวิธีต่างๆ และหากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดพูดถึงในส่วนความคิดเห็น