Tuples คือคอลเล็กชันหรืออาร์เรย์ของไพ ธ อนที่เรียงลำดับแต่ไม่สามารถเปลี่ยนแปลงได้ หากเราได้สิ่งอันดับสองที่องค์ประกอบแรกเหมือนกัน เราก็อาจมีสถานการณ์เมื่อเราจำเป็นต้องเพิ่มองค์ประกอบที่สองของสิ่งอันดับที่มีองค์ประกอบแรกเท่ากัน
การใช้ map และ for loop
ในวิธีนี้ ก่อนอื่นเราจะพิจารณารายการที่ประกอบด้วยสิ่งอันดับ จากนั้นแปลงเป็นพจนานุกรมเพื่อให้เราสามารถเชื่อมโยงองค์ประกอบในทูเพิลเป็นคู่ค่าคีย์ จากนั้นเราใช้ for loop โดยสรุปค่าสำหรับแต่ละคีย์ในพจนานุกรม สุดท้ายใช้ฟังก์ชันแผนที่เพื่อกลับรายการที่มีค่าสรุป
ตัวอย่าง
List = [(3,19),(7, 31), (7, 50), (1, 25.5), (1, 12)] # Converting it to a dictionary tup = {i:0 for i, v in List} for key, value in List: tup[key] = tup[key]+value # using map result = list(map(tuple, tup.items())) print(result)
การเรียกใช้โค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้:
ผลลัพธ์
[(3, 19), (7, 81), (1, 37.5)]
การใช้คอลเลกชัน
ที่นี่เราใช้แนวทางที่คล้ายคลึงกันข้างต้น แต่ใช้วิธี defaultdict ของโมดูลคอลเลกชัน ตอนนี้ แทนที่จะใช้ฟังก์ชันแผนที่ เราเข้าถึงรายการพจนานุกรมและแปลงเป็นรายการ
ตัวอย่าง
from collections import defaultdict # list of tuple List = [(3,19),(7, 31), (7, 50), (1, 25.5), (1, 12)] dict = defaultdict(int) for key, value in List: dict[key] = dict[key]+value # Printing output print(list(dict.items()))
การรันโค้ดด้านบนทำให้เราได้ผลลัพธ์ดังต่อไปนี้
ผลลัพธ์
[(3, 19), (7, 81), (1, 37.5)]