เราได้เรียนรู้เกี่ยวกับรายการและทูเปิลของ Python ก่อนหน้านี้ หากคุณศึกษาเนื้อหาก่อนหน้านี้อย่างรอบคอบและฝึกฝนผ่านแบบฝึกหัดที่เกี่ยวข้อง การเรียนรู้ครั้งต่อไปจะเกิดขึ้นอย่างเป็นธรรมชาติ เราต้องเข้าใจสิ่งหนึ่งใน Python Python เป็นภาษาที่แปลแล้ว ดังนั้นจึงจะมีเครื่องมือที่เป็นมิตรต่อผู้ใช้มากมายให้เราใช้ ในหัวข้อถัดไป เราจะเรียนรู้ประเภทข้อมูลใหม่ - พจนานุกรม
พจนานุกรมแตกต่างจากรายการและสิ่งอันดับ สิ่งที่เก็บไว้ในพจนานุกรมคือชุดข้อมูล กล่าวคือ แต่ละข้อมูลในพจนานุกรมประกอบด้วยสองส่วน คุณสามารถเข้าใจได้ด้วยวิธีนี้ และชื่อของนักเรียนแต่ละคนจะถูกเก็บไว้ในพจนานุกรม แต่ละชื่อตรงกับหมายเลขนักเรียน เราสามารถเข้าใจหมายเลขนักเรียนเป็น 'กุญแจ' และชื่อเป็น 'ค่า'
ต่อไปนี้เป็นคุณลักษณะบางประการของพจนานุกรม:
1) พจนานุกรมไม่มีการเรียงลำดับและเป็นการรวบรวมวัตถุตามอำเภอใจที่ไม่เรียงลำดับ
2) คีย์ของพจนานุกรมไม่ซ้ำกันและไม่สามารถปรากฏหลายครั้งได้ เมื่อปรากฏหลายครั้ง ระบบจะใช้ค่าสุดท้าย
3) คีย์ไม่เปลี่ยนรูป
4) สามารถเพิ่มหรือลบองค์ประกอบในพจนานุกรมได้
5) เนื่องจากไม่มีคำสั่งซื้อจึงไม่มีดัชนี
จากตัวอย่างชื่อนักเรียนพบว่าแต่ละองค์ประกอบของพจนานุกรมประกอบด้วย 2 ส่วน คือ ' คีย์ ' และ ' ค่า ' โดย ' , 'แยกกัน
รูปแบบไวยากรณ์ของมันคือ:
my_dict={'key':'value','key1'='value1'....}
ในหมู่พวกเขา my_dict คือพจนานุกรมที่เราต้องการสร้าง คีย์คือคีย์ และค่าคือค่าที่สอดคล้องกับคีย์ ซึ่งสามารถเป็นตัวเลขประเภทใดก็ได้
วิธีสร้างพจนานุกรมเปล่าคือ:
>>>my_dict={}#Create โดยตรง >>>my_dict{}>>>type(my_dict)#ดูที่ประเภท <class'dict'>
มาสร้างพจนานุกรมกันดีกว่า มีนักเรียนอยู่ 5 หมายเลขในพจนานุกรม ได้แก่ 1001, 1002, 1003, 1004 และ 1005 ชื่อที่ตรงกับหมายเลขนักเรียนแต่ละคนคือ 'Li Hua', 'Zhang San', 'Xiaoxue' และ ' เสี่ยวจาง' ',' เสี่ยวหมิง'
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>my_dict#ป้อนชื่อในแบบโต้ตอบ โหมด มันเป็นเอาต์พุตการเข้าถึงโดยตรง {1001:'Li Hua',1002:'Zhang San',1003:'Xiao Xue',1004:'Xiao Zhang',1005:'Xiao Ming'}
รูปแบบของพจนานุกรมจะประมาณนี้ แต่ละองค์ประกอบจะประกอบด้วยสองส่วน ส่วนหน้าคือ 'คีย์' และส่วนด้านหลังคือ 'ค่า'
ควรสังเกตว่าคีย์ไม่สามารถแก้ไขได้ แต่ค่าสามารถเปลี่ยนแปลงได้ ดังนั้นคีย์จะต้องเป็นประเภทข้อมูลที่ไม่เปลี่ยนรูป
การเข้าถึงองค์ประกอบในพจนานุกรมโดยทั่วไปเกี่ยวข้องกับการเข้าถึงคีย์เพื่อให้ได้ค่าที่สอดคล้องกัน
ดำเนินการต่อด้วยพจนานุกรมที่สร้างขึ้นด้านบน เราเข้าถึงค่าของมัน:
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>my_dict[1001]#การเข้าถึง key คือ ค่าของ 1001 คือ 'Li Hua' >>> my_dict [1005] # access key คือค่า 1005 ' Xiao Ming ' >>> my_dict [1006] # access key คือค่า 1006 ณ จุดนี้ เวลา ในพจนานุกรมไม่มี 1006 จึงมีการรายงานข้อผิดพลาด Traceback (mostrecentcalllast): ไฟล์ <stdin>, line1, ใน < โมดูล> KeyError: 1006
ข้างต้นเราได้เรียนรู้ว่าจะมีข้อผิดพลาดเกิดขึ้นเมื่อเราเข้าถึงคีย์ที่ไม่มีอยู่จริง เราสามารถใช้วิจารณญาณเพื่อพิจารณาว่ามีคีย์ที่เกี่ยวข้องอยู่ในพจนานุกรมหรือไม่
เพื่อพิจารณาว่าจะบันทึกหรือไม่ เราใช้ in และ not ใน
ใช้ใน:
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>if1001inmy_dict:#If 1001 มีอยู่ใน my_dict คีย์นี้รันคำสั่งต่อไปนี้ print(my_dict[1001])>>>>Li Hua
ใช้ไม่ได้อยู่ใน:
>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'}>>>if1006notinmy_dict:#If my_dict มีอยู่สำหรับ คีย์ 1006 ให้รันคำสั่งต่อไปนี้ print('ไม่มีคีย์ 1006') >>>ไม่มีคีย์ 1006
การใช้ in และ not in สามารถมั่นใจได้ว่าเราจะลดการเกิดข้อผิดพลาดเมื่อเข้าถึง ควรสังเกตว่าเมื่อดำเนินการในและไม่เข้า การเปรียบเทียบสตริงจะต้องคำนึงถึงขนาดตัวพิมพ์
เนื่องจากพจนานุกรมไม่แน่นอน เราจึงสามารถดำเนินการต่างๆ เช่น การเพิ่ม การลบ และการแก้ไขได้ รูปแบบไวยากรณ์ที่เกี่ยวข้องคือ:
my_dict['newkey']='newvalue'>>>my_dict={1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming'} > >>my_dict[1006]='Xiao Li'#Add key 1006, ค่าที่สอดคล้องกัน 'Xiao Li'>>>my_dict{1001:'Li Hua',1002:'Zhang San',1003:'Xiao Xue',1004 :' Xiao Zhang',1005:'Xiao Ming',1006:'Xiao Li'}
การเพิ่มองค์ประกอบทำได้โดยตรงผ่านคู่คีย์-ค่า
ในการลบองค์ประกอบ เรายังคงลบองค์ประกอบเหล่านั้นผ่านคำสั่ง del สิ่งที่ถูกลบคือองค์ประกอบทั้งหมด รวมถึงคีย์และค่า
รูปแบบไวยากรณ์:
delmy_list['คีย์']
>>>my_dict{1001:'Li Hua',1002:'Zhang San',1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming',1006:'Xiao Li'}>>>delmy_dict [ 1001]#Delete a group of element with the key 1001>>>delmy_dict[1002]#Delete a group of element with the key 1002>>>my_dict{1003:'Xiaoxue',1004:'Xiao Zhang',1005: 'เสี่ยวหมิง' ,1006:'เสี่ยวหลี่'}
การแก้ไของค์ประกอบจะเทียบเท่ากับการเขียนทับองค์ประกอบที่มีอยู่โดยตรง รูปแบบจะคล้ายกับการเพิ่มองค์ประกอบ
รูปแบบคือ:
my_dict['key']='newvalue'>>>my_dict{1003:'Xiaoxue',1004:'Xiao Zhang',1005:'Xiao Ming',1006:'Xiao Li'}>>>my_dict[1003]= ' Xiaotian'#เปลี่ยนค่าของคีย์ 1003 เป็น 'Xiaotian'>>>my_dict{1003:'Xiaotian',1004:'Xiao Zhang',1005:'Xiao Ming',1006:'Xiao Li'}
ในส่วนนี้ เราจะเข้าใจการทำงานพื้นฐานของพจนานุกรมก่อน และในส่วนถัดไป เราจะได้เรียนรู้วิธีการบางอย่างที่เกี่ยวข้องกับพจนานุกรม