Latest web development tutorials

พจนานุกรมหลาม (พจนานุกรม)

ตัวแปรก็คือรุ่น 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 ()
ในการกลับรายการค่าทั้งหมดในพจนานุกรม