การรวมประเภทคอลเลกชันจากประเภทหนึ่งไปอีกประเภทหนึ่งเป็นความต้องการที่พบบ่อยมากใน 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')]