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

รายงานปัญหา ดูแหล่งที่มา รุ่น Nightly · 7.4 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

พารามิเตอร์

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

popitem

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 หากเป็นคำสั่ง ระบบจะแทรกคู่คีย์/ค่าลงในคำสั่งนี้ หากเป็นการทำซ้ำได้ จะต้องระบุลำดับคู่ (หรือชุดย่อยอื่นๆ ที่มีความยาว 2) ซึ่งแต่ละคู่จะถือเป็นคู่คีย์/ค่าที่จะแทรก อาร์กิวเมนต์คีย์เวิร์ดแต่ละรายการ name=value จะทำให้แทรกคู่ชื่อ/ค่าลงในคำสั่งนี้

พารามิเตอร์

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

values

list dict.values()

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