การพิมพ์ตามคําบอก

dict เป็นประเภทที่มีให้ในตัวซึ่งแสดงถึงการแมปแบบเชื่อมโยงหรือพจนานุกรม พจนานุกรมรองรับการจัดทำดัชนีโดยใช้ d[k] และการทดสอบสมาชิกหลักโดยใช้ k in d การดำเนินการทั้ง 2 อย่างนี้ใช้เวลาคงที่ พจนานุกรมที่ตรึงไว้จะเปลี่ยนแปลงไม่ได้ และอาจได้รับการอัปเดตโดยการมอบหมายให้กับ d[k] หรือโดยการเรียกใช้บางเมธอด พจนานุกรมจะทำซ้ำได้ การทำซ้ำจะทำให้เกิดลำดับคีย์ในใบสั่งซื้อการใส่โฆษณา ลำดับการทำซ้ำจะไม่ได้รับผลกระทบจากการอัปเดตค่าที่เชื่อมโยงกับคีย์ที่มีอยู่ แต่จะได้รับผลกระทบจากการนำคีย์ออกแล้วเสียบคีย์ใหม่เข้าไปอีกครั้ง
d = {0: 0, 2: 2, 1: 1}
[k for k in d]  # [0, 2, 1]
d.pop(2)
d[0], d[2] = "a", "b"
0 in d, "a" in d  # (True, False)
[(k, v) for k, v in d.items()]  # [(0, "a"), (1, 1), (2, "b")]

การสร้างพจนานุกรมมี 4 วิธีดังนี้

  1. นิพจน์พจนานุกรม {k: v, ...} จะสร้างพจนานุกรมใหม่ที่มีรายการคีย์/ค่าที่ระบุ โดยแทรกตามลำดับที่ปรากฏในนิพจน์ การประเมินจะไม่สำเร็จหากนิพจน์คีย์ 2 รายการให้ค่าเดียวกัน
  2. การทำความเข้าใจพจนานุกรม {k: v for vars in seq} จะสร้างพจนานุกรมใหม่ที่มีการแทรกคู่คีย์/ค่าแต่ละคู่ตามลำดับการวนซ้ำ อนุญาตให้มีรายการที่ซ้ำกัน: การแทรกคีย์ครั้งแรกจะกําหนดตําแหน่งของคีย์ในลําดับ และลำดับสุดท้ายจะระบุค่าที่เกี่ยวข้อง
    {k: v for k, v in (("a", 0), ("b", 1), ("a", 2))}  # {"a": 2, "b": 1}
    {i: 2*i for i in range(3)}  # {0: 0, 1: 2, 2: 4}
    
  3. การเรียกฟังก์ชัน dict ในตัวจะแสดงผลพจนานุกรมที่มีรายการที่ระบุ ซึ่งจะแทรกตามลำดับอาร์กิวเมนต์และอาร์กิวเมนต์ตำแหน่งก่อนตั้งชื่อ ในส่วนของความเข้าใจ สามารถใช้คีย์ซ้ำได้
  4. นิพจน์สหภาพ x | y จะทำให้เกิดพจนานุกรมใหม่โดยรวมพจนานุกรมที่มีอยู่ 2 แบบเข้าด้วยกัน หากพจนานุกรมทั้งสองมีคีย์ k เหมือนกัน ค่าในพจนานุกรมด้านขวามือของคีย์ (หรือก็คือ y[k]) จะชนะ รูปแบบ |= ของโอเปอเรเตอร์สหภาพจะแก้ไขพจนานุกรมในตำแหน่งดังกล่าว ตัวอย่าง:
    d = {"foo": "FOO", "bar": "BAR"} | {"foo": "FOO2", "baz": "BAZ"}
    # d == {"foo": "FOO2", "bar": "BAR", "baz": "BAZ"}
    d = {"a": 1, "b": 2}
    d |= {"b": 3, "c": 4}
    # d == {"a": 1, "b": 3, "c": 4}

สมาชิก

ล้าง

None dict.clear()

นำรายการทั้งหมดออกจากพจนานุกรม

รับ

unknown dict.get(key, default=None)

แสดงผลค่าของ key หาก key อยู่ในพจนานุกรม มิฉะนั้นคือ default หากไม่ได้ใส่ default ค่าเริ่มต้นจะเป็น None เพื่อไม่ให้เกิดข้อผิดพลาด

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
key จำเป็น
คีย์ที่จะค้นหา
default default = ไม่มี
ค่าเริ่มต้นที่จะใช้ (แทน "ไม่มี) หากไม่พบคีย์

items

list dict.items()

แสดงรายการ tuples ของคีย์-ค่า:
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]

กุญแจ

list dict.keys()

แสดงรายการคีย์:
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

ป็อป

unknown dict.pop(key, default=unbound)

นำ key ออกจากคำสั่ง และแสดงผลค่าที่เกี่ยวข้อง หากไม่พบรายการที่มีคีย์ดังกล่าว ให้นำไม่มีอะไรออกและแสดงผลค่า default ที่ระบุ หากไม่ได้ระบุค่าเริ่มต้นไว้ ให้ล้มเหลวแทน

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
key จำเป็น
คีย์
default default = unbound
ค่าเริ่มต้นหากไม่มีคีย์

ป๊อปitem

tuple dict.popitem()

นำคู่ (key, value) คู่แรกออกจากพจนานุกรมและส่งกลับมา popitem มีประโยชน์ในการตรวจซ้ำอย่างละเอียดผ่านพจนานุกรม ดังที่มักใช้ในอัลกอริทึมที่ตั้งไว้ หากพจนานุกรมว่างเปล่า จะเรียกใช้ popitem ไม่สำเร็จ

ตั้งค่าเริ่มต้น

unknown dict.setdefault(key, default=None)

หาก key อยู่ในพจนานุกรม ให้แสดงค่า หากไม่ ให้แทรกคีย์ที่มีค่าเป็น default แล้วแสดงผล default default มีค่าเริ่มต้นเป็น None

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
key จำเป็น
คีย์
default default = ไม่มี
ค่าเริ่มต้นหากไม่มีคีย์

อัปเดต

None dict.update(pairs=[], **kwargs)

อัปเดตพจนานุกรมก่อนด้วยอาร์กิวเมนต์ตำแหน่งที่ไม่บังคับ pairs แล้วตามด้วยอาร์กิวเมนต์คีย์เวิร์ดที่ไม่บังคับ หากมีอาร์กิวเมนต์ตำแหน่งอยู่ อาร์กิวเมนต์ตำแหน่งจะต้องเป็น dict, iterable หรือ ไม่มี หากเป็นคำสั่ง ระบบจะแทรกคู่คีย์/ค่าของคีย์ลงในดิกต์นี้ หากเป็นแบบทำซ้ำได้ ต้องระบุลำดับคู่ (หรือการดำเนินการซ้ำอื่นๆ ที่มีความยาว 2) โดยแต่ละคู่ถือเป็นคู่คีย์/ค่าที่จะแทรก อาร์กิวเมนต์คีย์เวิร์ด name=value แต่ละรายการจะทำให้ระบบแทรกคู่ของชื่อ/ค่าลงในคำสั่งนี้

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
pairs ค่าเริ่มต้น = []
อาจเป็นพจนานุกรมหรือรายการข้อมูล รายการต้องเป็นรายการย่อยหรือรายการที่มีองค์ประกอบ 2 รายการ ได้แก่ คีย์และค่า
kwargs ต้องระบุ
พจนานุกรมของรายการเพิ่มเติม

ค่า

list dict.values()

แสดงรายการค่า:
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]