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

สร้างพจนานุกรมจากเนื้อหาลิสต์ใน Python

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

ด้วย zip

ฟังก์ชัน zip สามารถใช้รวมค่าของลิสต์ต่างๆ ได้ ตามตัวอย่างด้านล่าง ในตัวอย่างด้านล่างเราใช้สามลิสต์เป็นอินพุตและรวมเพื่อสร้างพจนานุกรมเดียว หนึ่งในลิสต์ให้คีย์สำหรับพจนานุกรมและอีกสองลิสต์เก็บฟิลด์ค่าสำหรับแต่ละคีย์

ตัวอย่าง

key_list = [1, 2, 3]
day_list = ['Friday', 'Saturday', 'Sunday']
fruit_list = ['Apple', 'Banana', 'Grape']
# Given Lists
print("Given key list : " + str(key_list))
print("Given day list : " + str(day_list))
print("Given fruit list : " + str(fruit_list))
# Dictionary creation
res = {key: {'Day': day, 'Fruit': fruit} for key, day, fruit in zip(key_list, day_list, fruit_list)}
# Result
print("The final dictionary : \n", res)

Output

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

Given key list : [1, 2, 3]
Given day list : ['Friday', 'Saturday', 'Sunday']
Given fruit list : ['Apple', 'Banana', 'Grape']
The final dictionary : {1: {'Day': 'Friday', 'Fruit': 'Apple'}, 2: {'Day': 'Saturday', 'Fruit': 'Banana'}, 3: {'Day': 'Sunday', 'Fruit': 'Grape'}}

ด้วย enumerate

ฟังก์ชัน enumerate เพิ่มตัวนับเป็นคีย์ของ enumerate object ดังนั้นในกรณีของเราเราจะส่ง key_list เป็นพารามิเตอร์ให้

ตัวอย่าง

key_list = [1, 2, 3]
day_list = ['Friday', 'Saturday', 'Sunday']
fruit_list = ['Apple', 'Banana', 'Grape']
# Given Lists
print("Given key list : " + str(key_list))
print("Given day list : " + str(day_list))
print("Given fruit list : " + str(fruit_list))
# Dictionary creation
res = {val: {"Day": day_list[key], "age": fruit_list[key]} for key, val in enumerate(key_list)}
# Result
print("The final dictionary : \n", res)

Output

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

Given key list : [1, 2, 3]
Given day list : ['Friday', 'Saturday', 'Sunday']
Given fruit list : ['Apple', 'Banana', 'Grape']
The final dictionary : {1: {'Day': 'Friday', 'age': 'Apple'}, 2: {'Day': 'Saturday', 'age': 'Banana'}, 3: {'Day': 'Sunday', 'age': 'Grape'}}