พจนานุกรม Python3
ตัวแปรก็คือรุ่น 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/python3 dict = {'Name': 'w3big', 'Age': 7, 'Class': 'First'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ", dict['Age'])
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
dict['Name']: w3big dict['Age']: 7
หากมีเป็นกุญแจสำคัญในการเข้าถึงข้อมูลในพจนานุกรมไม่มีก็จะออกข้อผิดพลาดต่อไปนี้:
#!/usr/bin/python3 dict = {'Name': 'w3big', 'Age': 7, 'Class': 'First'}; print ("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/python3 dict = {'Name': 'w3big', 'Age': 7, 'Class': 'First'} dict['Age'] = 8; # 更新 Age dict['School'] = "本教程" # 添加信息 print ("dict['Age']: ", dict['Age']) print ("dict['School']: ", dict['School'])ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
dict['Age']: 8 dict['School']: 本教程
ลบองค์ประกอบพจนานุกรม
สามารถลบองค์ประกอบเดียวสามารถพจนานุกรมว่างอบเพียงการดำเนินการอย่างใดอย่างหนึ่ง
ในการลบพจนานุกรมมีคำสั่ง Del ตัวอย่างต่อไปนี้:
#!/usr/bin/python3 dict = {'Name': 'w3big', 'Age': 7, 'Class': 'First'} del dict['Name'] # 删除键 'Name' dict.clear() # 删除字典 del dict # 删除字典 print ("dict['Age']: ", dict['Age']) print ("dict['School']: ", dict['School'])
แต่นี้ทำให้เกิดข้อยกเว้นเพราะมีการดำเนินการหลังจากดำเนินการพจนานุกรม Del ไม่มีอยู่อีกต่อไปนี้:
Traceback (most recent call last): File "test.py", line 9, in <module> print ("dict['Age']: ", dict['Age']) TypeError: 'type' object is not subscriptable
หมายเหตุ: เดล () วิธีการต่อไปจะมีการหารือ
ลักษณะของคีย์พจนานุกรม
ค่าพจนานุกรมสามารถนำมาโดยไม่มีข้อ จำกัด ใด ๆ วัตถุหลามสามารถเป็นได้ทั้งวัตถุมาตรฐานก็สามารถที่ผู้ใช้กำหนด แต่ที่สำคัญไม่ทำงาน
สองจุดสำคัญที่ต้องจำ:
1) ไม่อนุญาตให้คีย์เดียวกันปรากฏขึ้นสองครั้ง เมื่อคุณสร้างได้รับมอบหมายถ้าคีย์เดียวกันสองครั้งค่าหลังจะถูกจดจำในตัวอย่างต่อไปนี้:
#!/usr/bin/python3 dict = {'Name': 'w3big', 'Age': 7, 'Name': '小本'} print ("dict['Name']: ", dict['Name'])
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
dict['Name']: 小本
2) ที่สำคัญไม่ต้องมีการเปลี่ยนแปลงเพื่อให้คุณสามารถใช้ตัวเลขสตริงหรือ tuple เพื่อทำหน้าที่เป็นและจะไม่ทำงานกับรายการตัวอย่างต่อไปนี้:
#!/usr/bin/python3 dict = {['Name']: 'w3big', 'Age': 7} print ("dict['Name']: ", dict['Name'])
ตัวอย่างของการส่งออกดังกล่าวข้างต้น:
Traceback (most recent call last): File "test.py", line 3, in <module> dict = {['Name']: 'w3big', 'Age': 7} TypeError: unhashable type: 'list'
พจนานุกรมในตัวฟังก์ชั่นและวิธีการ
พจนานุกรมหลามมีฟังก์ชั่นในตัวต่อไปนี้:
เลขที่ | ฟังก์ชั่นและรายละเอียด | ตัวอย่าง |
---|---|---|
1 | len (Dict) การนับจำนวนขององค์ประกอบพจนานุกรมคือจำนวนของคีย์ | >>> dict = {'Name': 'w3big', 'Age': 7, 'Class': 'First'} >>> len(dict) 3 |
2 | STR (Dict) พจนานุกรมขาออกแทนสายพิมพ์ | >>> dict = {'Name': 'w3big', 'Age': 7, 'Class': 'First'} >>> str(dict) "{'Name': 'w3big', 'Class': 'First', 'Age': 7}" |
3 | ประเภท (Variable) ผลตอบแทนที่ประเภทของตัวแปรถ้าตัวแปรเป็นพจนานุกรมส่งกลับพจนานุกรม | >>> dict = {'Name': 'w3big', 'Age': 7, 'Class': 'First'} >>> type(dict) <class 'dict'> |
พจนานุกรมหลามมีวิธีการในตัวต่อไปนี้:
เลขที่ | ฟังก์ชั่นและรายละเอียด |
---|---|
1 | radiansdict.clear () ลบองค์ประกอบทั้งหมดในพจนานุกรม |
2 | radiansdict.copy () ส่งคืนสำเนาตื้นของพจนานุกรม |
3 | radiansdict.fromkeys () สร้างพจนานุกรมใหม่กับองค์ประกอบลำดับหมายเลขที่สำคัญทำพจนานุกรม Val พจนานุกรมทั้งหมดที่สำคัญที่สอดคล้องกับค่าเริ่มต้น |
4 | radiansdict.get (สำคัญ default = ไม่มี) ส่งกลับค่าของคีย์ที่ระบุถ้าค่าตอบแทนไม่ได้อยู่ในค่าเริ่มต้นพจนานุกรม |
5 | ที่สำคัญใน Dict ผลตอบแทนจริงถ้าคีย์อยู่ใน Dict พจนานุกรมมิฉะนั้นกลับเท็จ |
6 | radiansdict.items () ผลตอบแทนที่ได้ข้ามผ่านรายการ (ที่สำคัญค่า) tuples อาร์เรย์ |
7 | radiansdict.keys () ในการกลับรายการทั้งหมดพจนานุกรมคีย์ |
8 | radiansdict.setdefault (สำคัญ default = ไม่มี) และได้รับ () จะคล้ายกัน แต่ถ้าคีย์ไม่ได้อยู่ในพจนานุกรมและจะเพิ่มมูลค่าให้กับปุ่มเริ่มต้น |
9 | radiansdict.update (dict2) Dict2 พจนานุกรมของคู่คีย์ / ค่าในการปรับปรุงเพื่อ Dict ที่ |
10 | radiansdict.values () ในการกลับรายการค่าทั้งหมดในพจนานุกรม |