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

แปลงพจนานุกรมเป็นลิสต์ของทัพเปิลใน Python

การเปลี่ยนประเภทคอลเลกชันจากประเภทหนึ่งไปอีกประเภทเป็นความต้องการที่พบบ่อยใน Python ในบทความนี้เราจะดูวิธีสร้างทัพเปิลจากคู่คีย์-ค่าที่อยู่ในพจนานุกรม แต่ละคู่คีย์-ค่าจะกลายเป็นทัพเปิล ดังนั้นลิสต์สุดท้ายคือลิสต์ที่องค์ประกอบเป็นทัพเปิล

ด้วย items()

เราใช้เมธอด items ของพจนานุกรมซึ่งอนุญาตให้เราวนลูปผ่านแต่ละคู่คีย์-ค่า จากนั้นใช้ลูป for เพื่อจับค่าคู่เหล่านั้นเป็นทัพเปิล เราใส่ทัพเปิลทั้งหมดนี้เข้าไปในลิสต์สุดท้าย

ตัวอย่าง

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}
# Using items()
res = [(k, v) for k, v in dictA.items()]
# Result
print(res)

Output

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

ด้วย zip

วิธีอื่นคือใช้ฟังก์ชัน zip ฟังก์ชัน zip จะจับคู่คีย์และค่าเป็นทัพเปิลแล้วเราแปลงผลลัพธ์ทั้งหมดเป็นลิสต์โดยใช้ฟังก์ชัน list

ตัวอย่าง

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}
# Using items()
res = list(zip(dictA.keys(), dictA.values()))
# Result
print(res)

Output

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

ด้วย append

เมธอด append() สามารถเพิ่มผลลัพธ์เข้าไปในลิสต์หลังจากดึงคู่ค่าเพื่อสร้างทัพเปิล เราวนลูป for เพื่อได้ผลลัพธ์สุดท้าย

ตัวอย่าง

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)

Output

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]