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

รายงานปัญหา ดูซอร์สโค้ด รุ่น Nightly · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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 รายการที่มีอยู่ หากพจนานุกรมทั้งสองมีคีย์ 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 required
คีย์ที่จะค้นหา
default default is None
ค่าเริ่มต้นที่จะใช้ (แทนที่จะเป็น None) หากไม่พบคีย์

รายการ

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

พารามิเตอร์

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

popitem

tuple dict.popitem()

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

setdefault

unknown dict.setdefault(key, default=None)

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

พารามิเตอร์

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

อัปเดต

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

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

พารามิเตอร์

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

ค่า

list dict.values()

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