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

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

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 ค่าเริ่มต้นคือ None
ค่าเริ่มต้นที่จะใช้ (แทน "ไม่มี") หากไม่พบคีย์

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 ค่าเริ่มต้นคือ unbound
เป็นค่าเริ่มต้นหากไม่มีคีย์

ป๊อปitem

tuple dict.popitem()

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

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

unknown dict.setdefault(key, default=None)

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

พารามิเตอร์

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

อัปเดต

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"]