ไวยากรณ์สำหรับพจนานุกรมหลาม
Dict = { 'ทิม': 18, xyz,.. }
พจนานุกรมแสดงอยู่ในวงเล็บปีกกา โดยในวงเล็บปีกกา คีย์และค่าต่างๆ จะถูกประกาศไว้ แต่ละคีย์แยกจากค่าด้วยเครื่องหมายทวิภาค (:) ในขณะที่เครื่องหมายจุลภาคคั่นแต่ละองค์ประกอบ
คุณสมบัติของพจนานุกรมคีย์
มีสองจุดสำคัญในขณะที่ใช้ปุ่มพจนานุกรม
- ไม่อนุญาตให้ป้อนมากกว่าหนึ่งรายการต่อคีย์ (ไม่อนุญาตให้ใช้คีย์ซ้ำ)
- ค่าในพจนานุกรมสามารถเป็นประเภทใดก็ได้ ในขณะที่คีย์ต้องไม่เปลี่ยนรูป เช่น ตัวเลข ทูเพิล หรือสตริง
- คีย์พจนานุกรมต้องตรงตามตัวพิมพ์ใหญ่-เล็ก- ชื่อคีย์เหมือนกันแต่ในกรณีที่ต่างกันจะถือว่าเป็นคีย์ที่แตกต่างกันในพจนานุกรม Python
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
พิมพ์ (Dict['Tiffany'])
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
พิมพ์((ดิ๊ก['ทิฟฟานี่']))
- ในโค้ด เรามีชื่อพจนานุกรมว่า "Dict"
- เราประกาศชื่อและอายุของบุคคลในพจนานุกรม โดยที่ชื่อคือ "คีย์" และอายุคือ "ค่า"
- ตอนนี้เรียกใช้รหัส
- มันดึงอายุของทิฟฟานี่จากพจนานุกรม
วิธีพจนานุกรม Python
คัดลอกพจนานุกรม
คุณยังสามารถคัดลอกพจนานุกรมทั้งหมดไปยังพจนานุกรมใหม่ได้อีกด้วย ตัวอย่างเช่น เราได้คัดลอกพจนานุกรมดั้งเดิมของเราไปยังพจนานุกรมใหม่ชื่อ "Boys" และ "Girls"
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
เด็กชาย = {'ทิม': 18, 'ชาร์ลี':12, 'โรเบิร์ต':25}
หญิง = {'ทิฟฟานี่':22}
นักเรียนX=Boys.copy()
นักเรียนY=Girls.copy()
พิมพ์นักเรียนX
พิมพ์นักเรียนY
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
เด็กชาย = {'ทิม': 18, 'ชาร์ลี':12, 'โรเบิร์ต':25}
หญิง = {'ทิฟฟานี่':22}
นักเรียนX=Boys.copy()
นักเรียนY=Girls.copy()
พิมพ์ (นักเรียนX)
พิมพ์(นักเรียนY)
- เรามีพจนานุกรมต้นฉบับ (Dict) พร้อมชื่อและอายุของเด็กชายและเด็กหญิงเข้าด้วยกัน
- แต่เราต้องการให้รายชื่อเด็กชายแยกจากรายชื่อเด็กหญิง ดังนั้นเราจึงกำหนดองค์ประกอบของเด็กชายและเด็กหญิงในพจนานุกรมชื่อ "เด็กชาย" และ "เด็กหญิง" แยกกัน
- เราได้สร้างชื่อพจนานุกรมใหม่ว่า "นักเรียน X" และ "นักเรียน Y" โดยที่คีย์และค่านิยมทั้งหมดของพจนานุกรมเด็กชายจะถูกคัดลอกไปยังนักเรียน X และเด็กหญิงจะถูกคัดลอกในนักเรียนY
- ตอนนี้คุณไม่จำเป็นต้องดูรายชื่อทั้งหมดในพจนานุกรมหลัก (Dict) เพื่อดูว่าใครเป็นผู้ชายและใครเป็นผู้หญิง คุณแค่ต้องพิมพ์นักเรียน X หากคุณต้องการรายชื่อเด็กผู้ชายและ StudentY หากคุณต้องการรายชื่อเด็กผู้หญิง
- ดังนั้น เมื่อคุณเรียกใช้พจนานุกรม student X และ studentY พจนานุกรมจะให้องค์ประกอบทั้งหมดที่มีอยู่ในพจนานุกรมของ "เด็กชาย" และ "เด็กหญิง" แยกกัน
กำลังอัปเดตพจนานุกรม
คุณยังสามารถอัปเดตพจนานุกรมโดยเพิ่มรายการใหม่หรือคู่คีย์-ค่าให้กับรายการที่มีอยู่หรือโดยการลบรายการที่มีอยู่ ในตัวอย่าง เราจะเพิ่มชื่ออื่น “ซาร่าห์” ลงในพจนานุกรมที่เรามีอยู่
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
Dict.update({"ซาร่าห์":9})
พิมพ์ Dict
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
Dict.update({"ซาร่าห์":9})
พิมพ์ (Dict)
- พจนานุกรม "Dict" ของเราไม่มีชื่อ "Sarah"
- เราใช้วิธีการ Dict.update เพื่อเพิ่ม Sarah ลงในพจนานุกรมที่มีอยู่ของเรา
- ตอนนี้ให้รันโค้ด มันเพิ่ม Sarah ลงในพจนานุกรมที่มีอยู่ของเรา
ลบคีย์จากพจนานุกรม
พจนานุกรม Python ให้อิสระแก่คุณในการลบองค์ประกอบใดๆ ออกจากรายการพจนานุกรม สมมติว่าคุณไม่ต้องการให้ชื่อ Charlie อยู่ในรายการ ดังนั้นคุณสามารถลบองค์ประกอบหลักด้วยรหัสต่อไปนี้
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
del Dict ['ชาร์ลี']
พิมพ์ Dict
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
del Dict ['ชาร์ลี']
พิมพ์ (Dict)
เมื่อคุณรันโค้ดนี้ มันควรจะพิมพ์รายการพจนานุกรมโดยไม่มี Charlie
- เราใช้รหัส del Dict
- เมื่อโค้ดถูกรัน มันจะลบ Charlie ออกจากพจนานุกรมหลัก
รายการพจนานุกรม () วิธีการ
วิธี items() จะคืนค่ารายการของคู่ทูเพิล (คีย์, ค่า) ในพจนานุกรม
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
พิมพ์ "ชื่อนักเรียน: %s" % Dict.items()
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
พิมพ์ ("ชื่อนักเรียน: %s" % รายการ (Dict.items()))
- เราใช้รหัส items() วิธีสำหรับ Dict ของเรา
- เมื่อโค้ดถูกเรียกใช้ มันจะส่งคืนรายการของรายการ (คีย์และค่า) จากพจนานุกรม
ตรวจสอบว่าคีย์ที่ระบุมีอยู่แล้วในพจนานุกรมหรือไม่
สำหรับรายการที่กำหนด คุณสามารถตรวจสอบว่าพจนานุกรมย่อยของเรามีอยู่ในพจนานุกรมหลักหรือไม่ ที่นี่เรามีพจนานุกรมย่อยสองชุดคือ "Boys" และ "Girls" ตอนนี้เราต้องการตรวจสอบว่าพจนานุกรม Boys ของเรามีอยู่ใน "Dict" หลักของเราหรือไม่ เพื่อที่เราจะใช้วิธี for loop กับ else if method
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
เด็กชาย = {'ทิม': 18, 'ชาร์ลี':12, 'โรเบิร์ต':25}
หญิง = {'ทิฟฟานี่':22}
สำหรับคีย์ใน Boys.keys():
ถ้าคีย์ใน Dict.keys():
พิมพ์ ทรู
อื่น:
พิมพ์เท็จ
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
เด็กชาย = {'ทิม': 18, 'ชาร์ลี':12, 'โรเบิร์ต':25}
หญิง = {'ทิฟฟานี่':22}
สำหรับคีย์ในรายการ (Boys.keys()):
ถ้าคีย์ในรายการ (Dict.keys()):
พิมพ์ (จริง)
อื่น:
พิมพ์ (เท็จ)
- รหัส forloop ตรวจสอบแต่ละคีย์ในพจนานุกรมหลักสำหรับคีย์ Boys
- หากมีอยู่ในพจนานุกรมหลัก ควรพิมพ์ true หรือมิฉะนั้น ควรพิมพ์ false
- เมื่อคุณรันโค้ด มันจะพิมพ์ "True" สามครั้ง เนื่องจากเราได้สามองค์ประกอบในพจนานุกรม "Boys" ของเรา
- ดังนั้นมันจึงบ่งชี้ว่า "เด็กชาย" มีอยู่ในพจนานุกรมหลักของเรา (Dict)
การเรียงลำดับพจนานุกรม
ในพจนานุกรม คุณยังสามารถจัดเรียงองค์ประกอบได้ ตัวอย่างเช่น ถ้าเราต้องการพิมพ์ชื่อขององค์ประกอบในพจนานุกรมของเราตามตัวอักษร เราต้องใช้ for a loop มันจะจัดเรียงแต่ละองค์ประกอบของพจนานุกรมตามลำดับ
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
เด็กชาย = {'ทิม': 18, 'ชาร์ลี':12, 'โรเบิร์ต':25}
หญิง = {'ทิฟฟานี่':22}
นักเรียน = Dict.keys()
นักเรียน.sort()
สำหรับ S ในนักเรียน:
พิมพ์":".join((S,str(Dict[S])))
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
เด็กชาย = {'ทิม': 18, 'ชาร์ลี':12, 'โรเบิร์ต':25}
หญิง = {'ทิฟฟานี่':22}
นักเรียน = รายการ (Dict.keys())
นักเรียน.sort()
สำหรับ S ในนักเรียน:
พิมพ์(":".join((S,str(Dict[S]))))
- เราประกาศตัวแปรนักเรียนสำหรับพจนานุกรมของเรา "Dict"
- จากนั้นเราใช้รหัส Students.sort ซึ่งจะจัดเรียงองค์ประกอบภายในพจนานุกรมของเรา
- แต่ในการจัดเรียงแต่ละองค์ประกอบในพจนานุกรม เราเรียกใช้ for a loop โดยการประกาศตัวแปร S
- ตอนนี้เมื่อเรารันโค้ด for loop จะเรียกแต่ละองค์ประกอบจากพจนานุกรมและจะพิมพ์สตริงและค่าตามลำดับ
ฟังก์ชั่นในตัวพจนานุกรม Python
พจนานุกรม len() วิธีการ
ฟังก์ชัน len() ให้จำนวนคู่ในพจนานุกรม
ตัวอย่างเช่น,
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
พิมพ์ "Length : %d" % len (Dict)
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
print("ความยาว : %d" % len (Dict))
เมื่อเรียกใช้ฟังก์ชัน len (Dict) จะให้ผลลัพธ์ที่ "4" เนื่องจากมีสี่องค์ประกอบในพจนานุกรมของเรา
ประเภทตัวแปร
Python ไม่ต้องการประกาศพื้นที่หน่วยความจำสำรองอย่างชัดเจน มันเกิดขึ้นโดยอัตโนมัติ ใช้การกำหนดค่าให้กับตัวแปร “=" เครื่องหมายเท่ากับ รหัสสำหรับกำหนดประเภทตัวแปรคือ ” %type (Dict)”
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
พิมพ์ "ประเภทตัวแปร: %s" %type (Dict)
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
print("ประเภทตัวแปร: %s" %type (Dict))
- ใช้รหัส %type เพื่อทราบตัวแปร type
- เมื่อโค้ดถูกรัน มันจะบอกว่าตัวแปรประเภทคือดิกชันนารี
รายการ Python cmp () วิธีการ
วิธีเปรียบเทียบ cmp() ใช้ใน Python เพื่อเปรียบเทียบค่าและคีย์ของพจนานุกรมสองพจนานุกรม หากเมธอดคืนค่า 0 ถ้าพจนานุกรมทั้งสองเท่ากัน 1 ถ้า dic1 > dict2 และ -1 ถ้า dict1 < dict2
ตัวอย่าง Python 2
เด็กชาย = {'ทิม': 18, 'ชาร์ลี':12, 'โรเบิร์ต':25}
หญิง = {'ทิฟฟานี่':22}
พิมพ์ cmp(หญิง,ชาย)
ตัวอย่าง Python 3
ไม่รองรับ cmp ใน Python 3
- เรามีชื่อพจนานุกรมสองชื่อคือ "Boys" และ "Girls"
- อันไหนที่คุณประกาศก่อนในรหัส “cmp (Girls, Boys)” จะถือเป็นดิกชันนารี 1 ในกรณีของเรา เราประกาศ “Girls” ก่อน ดังนั้นจะถือว่าเป็นดิกชันนารี 1 และ boy เป็นดิกชันนารี 2
- เมื่อโค้ดถูกรัน มันจะพิมพ์ -1 แสดงว่าพจนานุกรม 1 ของเราน้อยกว่าดิกชันนารี 2
พจนานุกรม Str(dict)
ด้วยเมธอด Str() คุณสามารถสร้างพจนานุกรมให้อยู่ในรูปแบบสตริงที่พิมพ์ได้
ตัวอย่าง Python 2
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
พิมพ์ "สตริงที่พิมพ์ได้:%s" % str (Dict)
ตัวอย่าง Python 3
Dict = {'ทิม': 18,'ชาร์ลี':12,'ทิฟฟานี่':22,'โรเบิร์ต':25}
print("สตริงที่พิมพ์ได้:%s" % str (Dict))
- ใช้รหัส % str (Dict)
- มันจะส่งคืนองค์ประกอบพจนานุกรมในรูปแบบสตริงที่พิมพ์ได้
นี่คือรายการวิธีการพจนานุกรมทั้งหมด
วิธี | คำอธิบาย | ไวยากรณ์ |
---|
สำเนา() | คัดลอกพจนานุกรมทั้งหมดไปยังพจนานุกรมใหม่ | dict.copy() |
อัปเดต() | อัปเดตพจนานุกรมโดยเพิ่มรายการใหม่หรือคู่คีย์-ค่าให้กับรายการที่มีอยู่หรือโดยการลบรายการที่มีอยู่ | Dict.update([อื่นๆ]) |
รายการ() | ส่งคืนรายการคู่ทูเพิล (คีย์, ค่า) ในพจนานุกรม | พจนานุกรม รายการ () |
เรียงลำดับ() | คุณสามารถจัดเรียงองค์ประกอบ | พจนานุกรม.sort() |
เท่านั้น() | ให้จำนวนคู่ในพจนานุกรม | เลน (ดิกต์) |
cmp() | เปรียบเทียบค่าและคีย์ของสองพจนานุกรม | cmp(dict1, dict2) |
Str() | ทำพจนานุกรมให้อยู่ในรูปแบบสตริงที่พิมพ์ได้ | Str(ดิกต์) |
พจนานุกรมผสาน
ที่นี่จะเข้าใจวิธีการรวมพจนานุกรมสองเล่มให้เป็นพจนานุกรมเดียว
ฉันมีพจนานุกรมสองเล่มที่แสดงด้านล่าง:
Dictionary1 : my_dict1
my_dict1 = {"ชื่อผู้ใช้": "XYZ", "อีเมล": "xyz@gmail.com", "location":"มุมไบ"}
พจนานุกรม 2 : my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
ให้เรารวมพจนานุกรมทั้ง my_dict1 และ my_dict2 เข้าด้วยกัน และสร้างพจนานุกรมเดียวด้วย namemy_dict
รวมสองพจนานุกรมโดยใช้เมธอด update()
วิธี update() จะช่วยให้เรารวมพจนานุกรมหนึ่งเข้ากับอีกพจนานุกรมหนึ่งได้ ในตัวอย่าง เราจะอัปเดต my_dict1 ด้วย my_dict2 หลังจากใช้เมธอด update() แล้ว my_dict1 จะมีเนื้อหาของ my_dict2 ดังที่แสดงด้านล่าง:
my_dict1 = {"ชื่อผู้ใช้": "XYZ", "อีเมล": "xyz@gmail.com", "location":"มุมไบ"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict1.update(my_dict2)
พิมพ์ (my_dict1)
เอาท์พุท:
{'ชื่อผู้ใช้': 'XYZ', 'อีเมล': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
การรวมพจนานุกรมโดยใช้วิธี ** (ตั้งแต่ Python 3.5 เป็นต้นไป)
** เรียกว่า Kwargs ใน Python และจะใช้งานได้กับ Python เวอร์ชัน 3.5+ การใช้ ** เราสามารถรวมพจนานุกรมสองพจนานุกรมเข้าด้วยกัน และพจนานุกรมจะส่งคืนพจนานุกรมที่ผสาน การใช้ ** ข้างหน้าตัวแปรจะแทนที่ตัวแปรด้วยเนื้อหาทั้งหมด
นี่คือตัวอย่างการทำงานของการใช้ ** เพื่อรวมสองไดเร็กทอรี
my_dict1 = {"ชื่อผู้ใช้": "XYZ", "อีเมล": "xyz@gmail.com", "location":"มุมไบ"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict = {**my_dict1, **my_dict2}
พิมพ์ (my_dict)
เอาท์พุท:
{'ชื่อผู้ใช้': 'XYZ', 'อีเมล': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
การทดสอบสมาชิกพจนานุกรม
คุณสามารถทดสอบได้ว่าคีย์ปัจจุบันอยู่ในพจนานุกรมหรือไม่ การทดสอบนี้สามารถทำได้เฉพาะกับคีย์ของพจนานุกรมเท่านั้น ไม่ใช่ค่า การทดสอบสมาชิกทำได้โดยใช้คีย์เวิร์ดใน เมื่อคุณตรวจสอบคีย์ในพจนานุกรมโดยใช้ คีย์เวิร์ด inนิพจน์จะส่งกลับค่าจริงหากมีคีย์และเป็นเท็จหากไม่มี
นี่คือตัวอย่างที่แสดงการทดสอบสมาชิกในพจนานุกรม
my_dict = {"ชื่อผู้ใช้": "XYZ", "อีเมล": "xyz@gmail.com", "location":"มุมไบ"}
พิมพ์ ("อีเมล" ใน my_dict)
พิมพ์ ("ตำแหน่ง" ใน my_dict)
พิมพ์ ("ทดสอบ" ใน my_dict)
เอาท์พุท:
จริง
จริง
เท็จ
สรุป:
- พจนานุกรมในภาษาการเขียนโปรแกรมเป็นโครงสร้างข้อมูลประเภทหนึ่งที่ใช้เก็บข้อมูลที่เชื่อมต่อกันในทางใดทางหนึ่ง
- Python Dictionary ถูกกำหนดเป็นสององค์ประกอบ คีย์ และ ค่า
- พจนานุกรมไม่ได้จัดเก็บข้อมูลของตนในลำดับใดโดยเฉพาะ ดังนั้น คุณอาจไม่ได้รับข้อมูลของคุณกลับในลำดับเดียวกับที่คุณป้อน
- กุญแจจะเป็นองค์ประกอบเดียว
- ค่าอาจเป็นรายการหรือรายการภายในรายการ ตัวเลข ฯลฯ
- ไม่อนุญาตให้ป้อนมากกว่าหนึ่งรายการต่อคีย์ (ไม่อนุญาตให้ใช้คีย์ซ้ำ)
- ค่าในพจนานุกรมสามารถเป็นประเภทใดก็ได้ ในขณะที่คีย์ต้องไม่เปลี่ยนรูป เช่น ตัวเลข ทูเพิล หรือสตริง
- คีย์พจนานุกรมต้องตรงตามตัวพิมพ์ใหญ่-เล็ก- ชื่อคีย์เหมือนกันแต่ในกรณีที่ต่างกันจะถือว่าเป็นคีย์ที่แตกต่างกันในพจนานุกรม Python