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

dict เป็นประเภทในตัวที่แสดงถึงการแมปแบบเชื่อมโยงหรือ พจนานุกรม พจนานุกรมรองรับการจัดทำดัชนีโดยใช้ d[k] และการทดสอบการเป็นสมาชิกของคีย์โดยใช้ k in d ซึ่งทั้ง 2 การดำเนินการใช้เวลาคงที่ พจนานุกรมที่ไม่ได้ตรึงไว้จะเปลี่ยนแปลงได้ และอาจอัปเดตได้โดยการกำหนดค่าให้กับ d[k] หรือโดยการเรียกใช้เมธอดบางอย่าง พจนานุกรมสามารถวนซ้ำได้ การวนซ้ำจะแสดงลำดับคีย์ตามลำดับการแทรก ลำดับการวนซ้ำจะไม่ได้รับผลกระทบจากการอัปเดตค่าที่เชื่อมโยงกับคีย์ที่มีอยู่ แต่จะได้รับผลกระทบจากการนำคีย์ออกแล้วแทรกกลับเข้าไปใหม่
d = {0: "x", 2: "z", 1: "y"}
[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, "y"), (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 รายการที่มีอยู่ หากพจนานุกรม 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 ค่าเริ่มต้นคือ None
ค่าเริ่มต้นที่จะใช้ (แทน None) หากไม่พบคีย์

รายการ

list dict.items()

แสดงรายการของทูเพิลคีย์-ค่า
{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 ออกจาก dict และแสดงค่าที่เชื่อมโยง หากไม่พบรายการที่มีคีย์ดังกล่าว ให้นำออกโดยไม่แสดงค่า default ที่ระบุ หากไม่ได้ระบุค่าเริ่มต้น ให้แสดงข้อผิดพลาดแทน

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
key ต้องระบุ
คีย์
default ค่าเริ่มต้นคือ unbound
ค่าเริ่มต้นหากไม่มีคีย์

ป๊อปไอเทม

tuple dict.popitem()

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

setdefault

unknown dict.setdefault(key, default=None)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
key ต้องระบุ
คีย์
default ค่าเริ่มต้นคือ None
ค่าเริ่มต้นหากไม่มีคีย์

อัปเดต

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

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

พารามิเตอร์

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

ค่า

list dict.values()

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