Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Group tuples ในรายการที่มีค่าแรกเหมือนกัน


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่จัดกลุ่มทูเพิลทั้งหมดที่มีองค์ประกอบแรกเหมือนกัน มาดูตัวอย่างให้เข้าใจกันชัดๆ

อินพุต

[(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)]

บทสรุป

คุณสามารถลองแก้ปัญหาด้วยวิธีต่างๆ และหากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดพูดถึงในส่วนความคิดเห็น