ในส่วนก่อนหน้านี้ เราได้เรียนรู้เกี่ยวกับวิธีการพจนานุกรม ในบทนี้ เราจะเรียนรู้เกี่ยวกับพจนานุกรมลูกผสม การข้ามพจนานุกรม และการสืบค้นพจนานุกรม
พจนานุกรมแบบผสม ที่เรียกว่าข้อมูลที่จัดเก็บไว้ในพจนานุกรมนั้นมีหลายประเภทผสมกัน คีย์จะต้องเป็นประเภทข้อมูลที่ไม่เปลี่ยนรูป แต่ค่าสามารถเป็นวัตถุประเภทใดก็ได้
มาดูพจนานุกรมผสมกันก่อน:
my_dcit={'Xiao Ming': ['ความสูง: 170cm', 'น้ำหนัก: 65กก.'], 'Xiao Li': 'รักการเรียนรู้ รักกีฬา', 'Xiaohua': ('ที่อยู่อาศัย: ซูโจว', 'บ้านเกิด:เซี่ยงไฮ้ ')}
ค่าของพจนานุกรมนี้ประกอบด้วยรายการ สตริง และสิ่งอันดับ เราสามารถเข้าถึงพจนานุกรมแบบผสมนี้ได้ผ่านวิธีการในส่วนก่อนหน้า ดูโค้ดต่อไปนี้
my_dcit={'Xiao Ming': ['ความสูง: 170cm', 'น้ำหนัก: 65กก.'], 'Xiao Li': 'รักการเรียนรู้ รักกีฬา', 'Xiaohua': ('ที่อยู่อาศัย: ซูโจว', 'บ้านเกิด:เซี่ยงไฮ้ ')}print('คีย์การเข้าถึง='เสี่ยวหมิง'->',my_dcit['เสี่ยวหมิง']) print('Access key='Xiaohua'->',my_dcit['Xiaohua'])print('Access key='Xiaohua'->',my_dcit['Xiaohua'])print('itmes() วิธีการ:', my_dcit.items())#Access pr โดยรวม int('keys() method:',my_dcit.keys())#Only accessed all keyprint('values() method:',my_dcit.values())#Only accessed valueprint('get() method:' ,my_dcit .get('Xiao Ming')) #get วิธีการเข้าถึงคีย์ที่ระบุ my_dcit.pop('Xiao Ming') #ขั้นตอนนี้คือเมธอด pop() ซึ่งจะลบองค์ประกอบที่จับคู่ด้วยคีย์ = การพิมพ์ 'Xiao Ming' ('pop() method My_dict after:',my_dcit)#ตรวจสอบพจนานุกรมที่ถูกลบ
ดูผลลัพธ์:
คีย์การเข้าถึง='เซียวหมิง'->['ความสูง: 170 ซม.', 'น้ำหนัก: 65 กก.'] คีย์การเข้าถึง='Xiaohua'->รักการเรียนรู้ รักกีฬา คีย์การเข้าถึง='Xiaohua'->('ที่อยู่อาศัย: ซูโจว ', 'สถานที่เกิด: เซี่ยงไฮ้') itmes() วิธีการ: ง ict_items([('เสี่ยวหมิง',['ความสูง: 170cm','น้ำหนัก: 65กก.']),('Xiao Li','รักการเรียนรู้และกีฬา'),('Xiaohua',('ที่อยู่อาศัย: ซูโจว ', 'สถานที่เกิด: เซี่ยงไฮ้'))])keys() วิธีการ: d ict_keys(['เซียวหมิง','เซียวลี่','เซียวฮัว'])values() method:dict_values([['ความสูง: 170cm','น้ำหนัก: 65กก.'],'รักการเรียนรู้ รักกีฬา',( 'สถานที่อยู่อาศัย: ซูโจว', 'เกิด' สถานที่: เซี่ยงไฮ้')]) get() วิธีการ: ['ความสูง: 170cm', 'น้ำหนัก: 65kg'] my_dict หลังจาก pop() วิธีการ: {'Xiao Li': 'รักการเรียนรู้ รักกีฬา', 'Xiaohua ': ('ที่อยู่อาศัย: ซูโจว', 'บ้านเกิด: เซี่ยงไฮ้')}
เมื่อเราใช้พจนานุกรม เรามักจะต้องสำรวจพจนานุกรม โดยปกติแล้วเราจะใช้ for loop เพื่อสำรวจคีย์ทั้งหมดในพจนานุกรม
มาดูการเข้าถึงการแวะผ่านโดยทั่วไป:
>>>my_dict={1001:'Xiaoming',1002:'Xiaohua',1003:'Xiaozhang'}>>>foriinmy_dict:print(i,my_dict[i])#Output key และค่าที่สอดคล้องกับคีย์ 1001Xiao Ming 1002 เสี่ยวหัว 1003 เสี่ยวจาง
นอกจากนี้เรายังจะใช้เมธอด items() เพื่อรับคู่ขององค์ประกอบเมื่อรับวัตถุ
>>>my_dict={1001:'Xiao Ming',1002:'Xiao Hua',1003:'Xiao Zhang'}>>>foriinmy_dict.items():print(i)(1001,'Xiao Ming')(1002 ,' Xiaohua')(1003,'Xiao Zhang')
วิธีการเข้าถึงนี้เป็นคู่ของข้อมูลในพจนานุกรมตรงข้าม และผลลัพธ์เอาต์พุตจะถูกส่งออกในรูปแบบของทูเพิล ในเวลาเดียวกัน สามารถรับคีย์และค่าของการสำรวจแต่ละครั้งได้โดยตรงผ่านการวนซ้ำ
>>>my_dict={1001:'Xiao Ming',1002:'Xiao Hua',1003:'Xiao Zhang'}>>>fori,jinmy_dict.items():print('คีย์ที่สอดคล้องกัน:',i,'ที่สอดคล้องกัน ค่า :',j) คีย์ที่สอดคล้องกัน: 1001 ค่าที่สอดคล้องกัน: Xiao Ming คีย์ที่สอดคล้องกัน: 1002 ค่าที่สอดคล้องกัน: Xiao Hua คีย์ที่สอดคล้องกัน: 1003 ค่าที่สอดคล้องกัน: Xiao Zhang
สุดท้ายนี้ ฝึกท่องพจนานุกรมผ่านแบบฝึกหัด
ฉันได้เรียนรู้เกี่ยวกับการสืบทอดของรายการมาก่อนแล้ว การสืบทอดของ Tuple นั้นคล้ายคลึงกับการสืบทอดของรายการโดยไม่มีการแนะนำมากนัก เนื่องจากพจนานุกรมจะค่อนข้างพิเศษในที่นี้
มาดูการใช้งานแบบง่ายๆกันก่อน
>>>my_dict={i:'dotcpp'foriinrange(1,5)}>>>my_dict{1:'dotcpp',2:'dotcpp',3:'dotcpp',4:'dotcpp'}
ที่นี่เราจะดูที่โครงสร้างของที่มาของพจนานุกรม ส่วนแรกเทียบเท่ากับการใช้ 'dotcpp' เพื่อกำหนดวัตถุค่าของแต่ละ i นอกจากนี้เรายังสามารถกำหนดรายการก่อนและกำหนดค่าในรายการให้กับมันได้
>>>my_list=[10,20,30,40,50]>>>my_dict={i:my_list[i]foriinrange(1,5)}>>>my_dict{1:20,2:30,3: 40,4:50}
ดูภาพด้านล่าง:
เมื่อใช้การสืบทอดพจนานุกรม ปัญหาหลักคือการจับคู่คีย์และค่า หลังจากที่เราเรียนรู้ฟังก์ชันในภายหลัง เราสามารถใช้ฟังก์ชัน zip() เพื่อรวมพจนานุกรมได้สะดวกยิ่งขึ้น เราจะไม่แนะนำมันมากเกินไปที่นี่
ผู้ใช้จำเป็นต้องป้อนสินทรัพย์ทั้งหมด เช่น 3000 รายการตะกร้าสินค้าจะปรากฏขึ้น และคำนวณจำนวนสินค้าทั้งหมดในตะกร้าสินค้า หากจำนวนสินค้าทั้งหมดมากกว่าสินทรัพย์ทั้งหมด มันจะแจ้งว่ายอดเงินในบัญชีไม่เพียงพอ มิฉะนั้นการซื้อจะสำเร็จ รายการตะกร้าสินค้ามีดังนี้: carts=[{ชื่อ: เตียง, ราคา: 1999, "num": 1}, {ชื่อ: หมอน, ราคา: 10, " num ": 2}, {ชื่อ: quilt, ราคา: 20, " หมายเลข”:1}].
การแก้ปัญหาอยู่ที่จุดสิ้นสุด
พจนานุกรมเป็นโครงสร้างข้อมูลที่ใช้กันทั่วไปในการเรียนรู้ Python อย่างไรก็ตาม เนื่องจากลักษณะเฉพาะของมัน อาจมีคำไม่กี่คำเกี่ยวกับพจนานุกรมในคำถามการแข่งขัน แต่มีมากขึ้นในการเรียนรู้และการตรวจสอบหลักสูตร Python เมื่อจัดเก็บข้อมูล เราสามารถใช้พจนานุกรมเพื่อช่วยเราได้ ค้นหาข้อมูลที่เกี่ยวข้องได้อย่างถูกต้อง และการเรียนรู้รายการและพจนานุกรมอย่างเชี่ยวชาญสามารถช่วยให้เราเรียนรู้ Python ได้ดีขึ้น
รถเข็น=[{ชื่อ:เตียง,ราคา:1999,"num":1},{ชื่อ:หมอน,ราคา:10,"num":2},{ชื่อ:ผ้าห่ม,ราคา:20,"num":1} ] m=int(input())sum=0foriinrange(len(carts)):sum=carts[i]['price']*carts[i]['num']+sumifm>=sum:print('การซื้อสำเร็จ ')else:print('ยอดเงินในบัญชีไม่เพียงพอ')