การรวมประเภทคอลเลกชันจากประเภทหนึ่งไปอีกประเภทหนึ่งเป็นความต้องการที่พบบ่อยมากใน python ในบทความนี้ เราจะมาดูกันว่าเราสร้างทูเพิลจากคู่ค่าคีย์ที่มีอยู่ในพจนานุกรมได้อย่างไร แต่ละคู่ของค่าคีย์จะกลายเป็นทูเพิล ดังนั้นรายการสุดท้ายคือรายการที่มีองค์ประกอบเป็นทูเพิล
พร้อมไอเทม()
เราฟ้องวิธี items ของพจนานุกรมซึ่งช่วยให้เราทำซ้ำผ่านแต่ละคู่ของค่าคีย์ได้ จากนั้นเราใช้ for loop เพื่อแพ็คค่าเหล่านั้นลงในทูเพิล เราใส่ทูเพิลเหล่านี้ไว้ในรายการสุดท้าย
ตัวอย่าง
dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'} # Using items() res = [(k, v) for k, v in dictA.items()] # Result print(res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]
มีซิป
อีกวิธีหนึ่งคือการใช้ฟังก์ชัน zip ฟังก์ชัน zip จะจับคู่คีย์และค่าเป็น tuples จากนั้นเราจะแปลงผลลัพธ์ทั้งหมดเป็นรายการโดยใช้ฟังก์ชัน list
ตัวอย่าง
dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'} # Using items() res = list(zip(dictA.keys(), dictA.values())) # Result print(res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]
ต่อท้าย
append() สามารถผนวกผลลัพธ์ลงในรายการหลังจากดึงค่าคู่เพื่อสร้างทูเพิล เราวนลูปวนซ้ำเพื่อให้ได้ผลลัพธ์สุดท้าย
ตัวอย่าง
dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'} # Initialize empty list res=[] # Append to res for i in dictA: tpl = (i, dictA[i]) res.append(tpl) # Result print(res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]