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

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

dict เป็นประเภทในตัวที่แสดงการแมปแบบเชื่อมโยงหรือพจนานุกรม พจนานุกรมรองรับการจัดทำดัชนีโดยใช้ d[k] และทดสอบการเป็นสมาชิกหลักโดยใช้ k in d ซึ่งการดำเนินการทั้งสองแบบจะใช้เวลาสม่ำเสมอ พจนานุกรมที่เลิกตรึงจะเปลี่ยนแปลงได้ และอาจอัปเดตได้โดยกําหนดค่าให้กับ 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 required
คีย์ที่จะค้นหา
default ค่าเริ่มต้นคือ 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 required
คีย์
default ค่าเริ่มต้นคือ unbound
ค่าเริ่มต้นหากไม่มีคีย์

popitem

tuple dict.popitem()

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

setdefault

unknown dict.setdefault(key, default=None)

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

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
key required
คีย์
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"]