พจนานุกรมหลาม (พจนานุกรม)
ตัวแปรก็คือรุ่น CONTAINER พจนานุกรมและสามารถจัดเก็บชนิดของวัตถุใด ๆ
พจนานุกรมแต่ละคีย์ (คีย์ => ค่า) ของลำไส้ใหญ่(:) แบ่งระหว่างแต่ละคู่ด้วยเครื่องหมายจุลภาค (,)ส่วนรวมทั้งพจนานุกรมทั้งหมดในวงเล็บปีกกา({}),รูปแบบมีดังนี้:
d = {key1 : value1, key2 : value2 }
ที่สำคัญต้องไม่ซ้ำกัน แต่ค่าที่ไม่จำเป็น
ราคาสามารถใช้ชนิดของข้อมูลใด ๆ แต่ที่สำคัญจะต้องไม่เปลี่ยนรูปเช่นสตริงตัวเลขหรือ tuples
ตัวอย่างพจนานุกรมง่าย:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
ดังนั้นยังสร้างพจนานุกรม:
dict1 = { 'abc': 456 }; dict2 = { 'abc': 123, 98.6: 37 };
เข้าค่าพจนานุกรม
กุญแจสำคัญที่สอดคล้องกันในวงเล็บคุ้นเคยตัวอย่างต่อไปนี้:
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print "dict['Name']: ", dict['Name']; print "dict['Age']: ", dict['Age'];
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
dict['Name']: Zara dict['Age']: 7
หากมีเป็นกุญแจสำคัญในการเข้าถึงข้อมูลในพจนานุกรมไม่มีก็จะออกข้อผิดพลาดต่อไปนี้:
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print "dict['Alice']: ", dict['Alice'];
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
dict['Alice']: Traceback (most recent call last): File "test.py", line 5, in <module> print "dict['Alice']: ", dict['Alice']; KeyError: 'Alice'
การปรับเปลี่ยนพจนานุกรม
วิธีที่จะเพิ่มเนื้อหาใหม่ในพจนานุกรมเพื่อเพิ่มคู่คีย์ / ค่าใหม่แก้ไขหรือลบคีย์ / คู่ค่าต่อไปนี้เป็นตัวอย่างที่มีอยู่
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
dict['Age']: 8 dict['School']: DPS School
ลบองค์ประกอบพจนานุกรม
สามารถลบองค์ประกอบเดียวสามารถพจนานุกรมว่างอบเพียงการดำเนินการอย่างใดอย่างหนึ่ง
ในการลบพจนานุกรมมีคำสั่ง Del ตัวอย่างต่อไปนี้:
#!/usr/bin/python # -*- coding: UTF-8 -*- dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; del dict['Name']; # 删除键是'Name'的条目 dict.clear(); # 清空词典所有条目 del dict ; # 删除词典 print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];
แต่นี้ทำให้เกิดข้อยกเว้นเพราะหลังจากพจนานุกรม Del ไม่มีอยู่แล้ว:
dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable
หมายเหตุ: เดล () วิธีการต่อไปจะมีการหารือ
ลักษณะของคีย์พจนานุกรม
ค่าพจนานุกรมสามารถนำมาโดยไม่มีข้อ จำกัด ใด ๆ วัตถุหลามสามารถเป็นได้ทั้งวัตถุมาตรฐานก็สามารถที่ผู้ใช้กำหนด แต่ที่สำคัญไม่ทำงาน
สองจุดสำคัญที่ต้องจำ:
1) ไม่อนุญาตให้คีย์เดียวกันปรากฏขึ้นสองครั้ง เมื่อคุณสร้างได้รับมอบหมายถ้าคีย์เดียวกันสองครั้งค่าหลังจะถูกจดจำในตัวอย่างต่อไปนี้:
#!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}; print "dict['Name']: ", dict['Name'];
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
dict['Name']: Manni
2) ที่สำคัญไม่ต้องมีการเปลี่ยนแปลงเพื่อให้คุณสามารถใช้ตัวเลขสตริงหรือ tuple เพื่อทำหน้าที่เป็นรายการจะไม่ทำเช่นนั้นด้วยตัวอย่างต่อไปนี้:
#!/usr/bin/python dict = {['Name']: 'Zara', 'Age': 7}; print "dict['Name']: ", dict['Name'];
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'Zara', 'Age': 7}; TypeError: list objects are unhashable
พจนานุกรมในตัวฟังก์ชั่นและวิธีการ
พจนานุกรมหลามมีฟังก์ชั่นในตัวต่อไปนี้:
เลขที่ | ฟังก์ชั่นและรายละเอียด |
---|---|
1 | ซีเอ็มพี (dict1, dict2) เปรียบเทียบสององค์ประกอบในพจนานุกรม |
2 | len (Dict) การนับจำนวนขององค์ประกอบพจนานุกรมคือจำนวนของคีย์ |
3 | STR (Dict) แสดงสตริงเอาท์พุทพิมพ์พจนานุกรม |
4 | ประเภท (Variable) ผลตอบแทนที่ประเภทของตัวแปรถ้าตัวแปรเป็นพจนานุกรมส่งกลับพจนานุกรม |
พจนานุกรมหลามมีวิธีการในตัวต่อไปนี้:
เลขที่ | ฟังก์ชั่นและรายละเอียด |
---|---|
1 | radiansdict.clear () ลบองค์ประกอบทั้งหมดในพจนานุกรม |
2 | radiansdict.copy () ส่งคืนสำเนาตื้นของพจนานุกรม |
3 | radiansdict.fromkeys () สร้างพจนานุกรมใหม่กับองค์ประกอบลำดับหมายเลขที่สำคัญทำพจนานุกรม Val พจนานุกรมทั้งหมดที่สำคัญที่สอดคล้องกับค่าเริ่มต้น |
4 | radiansdict.get (สำคัญ default = ไม่มี) ส่งกลับค่าของคีย์ที่ระบุถ้าค่าตอบแทนไม่ได้อยู่ในค่าเริ่มต้นพจนานุกรม |
5 | radiansdict.has_key (กุญแจ) ผลตอบแทนจริงถ้าคีย์อยู่ใน Dict พจนานุกรมมิฉะนั้นกลับเท็จ |
6 | radiansdict.items () ผลตอบแทนที่ได้ข้ามผ่านรายการ (ที่สำคัญค่า) tuples อาร์เรย์ |
7 | radiansdict.keys () ในการกลับรายการทั้งหมดพจนานุกรมคีย์ |
8 | radiansdict.setdefault (สำคัญ default = ไม่มี) และได้รับ () จะคล้ายกัน แต่ถ้าคีย์ไม่ได้อยู่ในพจนานุกรมและจะเพิ่มมูลค่าให้กับปุ่มเริ่มต้น |
9 | radiansdict.update (dict2) Dict2 พจนานุกรมของคู่คีย์ / ค่าในการปรับปรุงเพื่อ Dict ที่ |
10 | radiansdict.values () ในการกลับรายการค่าทั้งหมดในพจนานุกรม |