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 วิธีดังนี้
- นิพจน์พจนานุกรม
{k: v, ...}จะแสดงพจนานุกรมใหม่ที่มีรายการคีย์/ค่าที่ระบุ ซึ่งแทรกตามลำดับที่ปรากฏในนิพจน์ การประเมินจะล้มเหลวหากนิพจน์คีย์ 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} - การเรียกใช้ฟังก์ชัน dict ในตัวจะแสดงพจนานุกรมที่มีรายการที่ระบุ ซึ่งแทรกตามลำดับอาร์กิวเมนต์ โดยอาร์กิวเมนต์ตำแหน่งจะอยู่ก่อนอาร์กิวเมนต์ที่มีชื่อ เช่นเดียวกับความเข้าใจ ระบบอนุญาตให้ใช้คีย์ที่ซ้ำกัน
- นิพจน์การรวม
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"]