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

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

ใน Python ลิสต์ (list) จะเก็บชุดของค่า ในขณะที่พจนานุกรม (dictionary) จะเก็บคู่ของค่าที่เรียกว่า key-value pairs บทความนี้จะสาธิตวิธีนำสองลิสต์มารวมกันเพื่อสร้างพจนานุกรมใน Python

วิธีที่ 1: ใช้ลูป for และเมธอด remove()

สร้างลูป for ซ้อนกันสองชั้น ในลูปในจะกำหนดลิสต์หนึ่งเป็น key ของพจนานุกรม และลบค่าออกจากลิสต์ที่อยู่ในลูปนอก

ตัวอย่าง

listK = ["Mon", "Tue", "Wed"]
listV = [3, 6, 5]
# ลิสต์ที่กำหนด
print("List of K : ", listK)
print("List of V : ", listV)
# พจนานุกรมว่าง
res = {}
# แปลงเป็นพจนานุกรม
for key in listK:
    for value in listV:
        res[key] = value
        listV.remove(value)
        break
print("Dictionary from lists:\n", res)

ผลลัพธ์

('List of K : ', ['Mon', 'Tue', 'Wed'])
('List of V : ', [3, 6, 5])
('Dictionary from lists:\n ', {'Wed': 5, 'Mon': 3, 'Tue': 6})

วิธีที่ 2: ใช้ลูป for และ range()

นำสองลิสต์มารวมกันเพื่อสร้างคู่ค่าโดยใช้ลูป for พร้อมกับฟังก์ชัน range() และ len() เพื่อติดตามจำนวนสมาชิกจนกว่าจะสร้าง key-value pairs ครบทุกคู่

ตัวอย่าง

listK = ["Mon", "Tue", "Wed"]
listV = [3, 6, 5]
# ลิสต์ที่กำหนด
print("List of K : ", listK)
print("List of V : ", listV)
# แปลงเป็นพจนานุกรม
res = {listK[i]: listV[i] for i in range(len(listK))}
print("Dictionary from lists:\n", res)

ผลลัพธ์

('List of K : ', ['Mon', 'Tue', 'Wed'])
('List of V : ', [3, 6, 5])
('Dictionary from lists:\n ', {'Wed': 5, 'Mon': 3, 'Tue': 6})

วิธีที่ 3: ใช้ฟังก์ชัน zip()

ฟังก์ชัน zip() ทำงานคล้ายวิธีข้างต้น คือ รวมสมาชิกจากสองลิสต์เข้าด้วยกันเพื่อสร้างคู่ key และ value

ตัวอย่าง

listK = ["Mon", "Tue", "Wed"]
listV = [3, 6, 5]
# ลิสต์ที่กำหนด
print("List of K : ", listK)
print("List of V : ", listV)
# แปลงเป็นพจนานุกรม
res = dict(zip(listK, listV))
print("Dictionary from lists:\n", res)

ผลลัพธ์

('List of K : ', ['Mon', 'Tue', 'Wed'])
('List of V : ', [3, 6, 5])
('Dictionary from lists:\n ', {'Wed': 5, 'Mon': 3, 'Tue': 6})