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

จะแปลงรายการเป็นพจนานุกรมใน Python ได้อย่างไร?


รายการนี้เป็นโครงสร้างข้อมูลเชิงเส้นที่มีองค์ประกอบข้อมูล

ตัวอย่าง

1,2,3,4,5,6

พจนานุกรมเป็นโครงสร้างข้อมูลที่ประกอบด้วยคีย์:คู่ค่า คีย์ไม่ซ้ำกันและแต่ละคีย์มีค่าบางอย่างที่เกี่ยวข้อง

ตัวอย่าง

1:2, 3:4, 5:6

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

วิธีที่ 1 - วนซ้ำในรายการ

ตัวอย่าง

def convert(l):
   dic={}
   for i in range(0,len(l),2):
      dic[l[i]]=l[i+1]

   return dic

ar=[1,'Delhi',2,'Kolkata',3,'Bangalore',4,'Noida']
print(convert(ar))

ผลลัพธ์

{1: 'Delhi', 2: 'Kolkata', 3: 'Bangalore', 4: 'Noida'}

วิธีที่ 2 - การใช้ zip()

เริ่มต้นตัววนซ้ำกับตัวแปร i หลังจากนั้น zip คีย์และค่าเข้าด้วยกันแล้วพิมพ์ลงในพจนานุกรมโดยใช้ dict()

ตัวอย่าง

def convert(l):
   i=iter(l)
   dic=dict(zip(i,i))
   return dic

ar=[1,'Delhi',2,'Kolkata',3,'Bangalore',4,'Noida']
print(convert(ar))

ผลลัพธ์

{1: 'Delhi', 2: 'Kolkata', 3: 'Bangalore', 4: 'Noida'}