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 ในตัวจะแสดงพจนานุกรมที่มีรายการที่ระบุ ซึ่งจะแทรกตามลำดับอาร์กิวเมนต์ โดยอาร์กิวเมนต์ตามตำแหน่งจะอยู่ก่อนอาร์กิวเมนต์ที่มีชื่อ เช่นเดียวกับความเข้าใจ เราอนุญาตให้ใช้คีย์ที่ซ้ำกันได้
- นิพจน์ Union
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 ออกจากพจนานุกรมและแสดงผลค่าที่เชื่อมโยง หากไม่พบรายการที่มีคีย์ดังกล่าว ให้นำค่าออกและแสดงค่า default ที่ระบุ หากไม่ได้ระบุค่าเริ่มต้น ให้แสดงข้อผิดพลาดแทน
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
key
|
ต้องระบุ คีย์ |
default
|
ค่าเริ่มต้นคือ unboundค่าเริ่มต้นหากไม่มีคีย์ |
popitem
tuple dict.popitem()
(key, value) ออกจากพจนานุกรมและส่งคืน popitem มีประโยชน์ในการวนซ้ำแบบทำลายในพจนานุกรม ซึ่งมักใช้ในอัลกอริทึมของชุด หากพจนานุกรมว่างเปล่า popitem การเรียกใช้จะล้มเหลว
setdefault
unknown dict.setdefault(key, default=None)
key อยู่ในพจนานุกรม ให้แสดงผลค่าของ key หากไม่มี ให้แทรกคีย์ที่มีค่าเป็น default แล้วแสดงผล default default จะมีค่าเริ่มต้นเป็น None
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
key
|
ต้องระบุ คีย์ |
default
|
ค่าเริ่มต้นคือ Noneค่าเริ่มต้นหากไม่มีคีย์ |
อัปเดต
None dict.update(pairs=[], **kwargs)pairs จากนั้นจึงอัปเดตด้วยอาร์กิวเมนต์คีย์เวิร์ดที่ไม่บังคับ
หากมีอาร์กิวเมนต์ตำแหน่ง อาร์กิวเมนต์นั้นต้องเป็น dict, iterable หรือ None
หากเป็นพจนานุกรม ระบบจะแทรกคู่คีย์/ค่าลงในพจนานุกรมนี้ หากเป็นออบเจ็กต์ที่วนซ้ำได้ จะต้องมีลำดับของคู่ (หรือออบเจ็กต์ที่วนซ้ำได้อื่นๆ ที่มีความยาว 2) ซึ่งแต่ละคู่จะถือเป็นคู่คีย์/ค่าที่จะแทรก
อาร์กิวเมนต์คีย์เวิร์ดแต่ละรายการ name=value จะทําให้ระบบแทรกคู่ชื่อ/ค่าลงในพจนานุกรมนี้
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
pairs
|
ค่าเริ่มต้นคือ []พจนานุกรมหรือรายการของรายการ รายการต้องเป็นทูเพิลหรือลิสต์ที่มีองค์ประกอบ 2 อย่าง ได้แก่ คีย์และค่า |
kwargs
|
ต้องระบุ พจนานุกรมของรายการเพิ่มเติม |
values
list dict.values()
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]