set

เก็บค่าโดยไม่ซ้ำและเพิ่มหรือลบภายหลังได้ ค่าที่เท่ากันปรากฏครั้งเดียว: True, 1 และ 1.0 เท่ากัน รายการต้องใช้เป็นคีย์ dictionary ได้ จึงไม่รับ list, dictionary, set หรือ tuple ที่มีสิ่งเหล่านี้ อย่าพึ่งพาลำดับการวนลูป

รูปแบบคำสั่ง

set(iterable=(), /)

ค่าที่ส่งกลับ

ตัวอย่าง

seen = {1, 2, 2}
seen.add(3)

if 2 in seen:
    text(str(seen))

เมธอด

17 เมธอด

set.constructor

สร้าง set ว่าง หรือรวบรวมค่าจากแหล่งข้อมูลที่วนลูปได้ เช่น list หรือ generator โดยเก็บเฉพาะครั้งแรกของค่าที่เท่ากัน

รูปแบบคำสั่ง

set()
set(iterable, /)

พารามิเตอร์

ชื่อคำอธิบาย
iterableIterable
Optional source values to deduplicate into the new set.
ขึ้นอยู่กับรูปแบบการเรียก · ระบุตามตำแหน่งเท่านั้น
ค่าเริ่มต้น: ()

ค่าที่ส่งกลับ

set — ชุดที่ไม่แน่นอนใหม่

ตัวอย่าง

seen = set()
unique = set([1, 2, 2, 3])

set.literal

สร้าง set โดยเขียนค่าในวงเล็บปีกกา ใช้ set() สำหรับ set ว่าง ส่วน {} สร้าง dictionary ว่าง

รูปแบบคำสั่ง

{1, 2, 3}

พารามิเตอร์

ชื่อคำอธิบาย
valueAny?
Each value written inside the braces.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

set — ชุดที่ไม่แน่นอนใหม่ที่เก็บหนึ่งสำเนาของแต่ละค่า

ตัวอย่าง

unique = {1, 2, 2, 3}
text(str(unique))        # คืนค่า {1, 2, 3}

set.comprehension

สร้าง set จากค่าที่ expr คำนวณขณะวนลูปผ่านแหล่งข้อมูล โดยลบค่าซ้ำ ใช้ if เพื่อกรองรายการ และใช้ for/if ได้หลายชุด ตัวแปรลูปอยู่เฉพาะในนิพจน์นี้

รูปแบบคำสั่ง

{expr for target in iterable if condition}

พารามิเตอร์

ชื่อคำอธิบาย
exprAny?
Value calculated for each accepted item.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น
targetName | destructuring target
ตัวแปรหรือกลุ่มตัวแปรที่รับรายการปัจจุบัน ไม่รองรับตัวรับแบบ *rest
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น
iterableIterable
แหล่งข้อมูลที่วนลูปได้ เช่น สตริง คอลเลกชัน หรือ generator หากเป็น dictionary จะได้คีย์
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น
conditionBoolean
Optional filter checked before adding a value.
ไม่บังคับ · ระบุตามตำแหน่งเท่านั้น
ค่าเริ่มต้น: True

ค่าที่ส่งกลับ

set — ชุดที่ไม่แน่นอนใหม่

ตัวอย่าง

values = [1, 2, 3, 4, 5]
remainders = {x % 3 for x in values}

set.length

นับจำนวนค่าที่ไม่ซ้ำในชุด

รูปแบบคำสั่ง

len(set, /)

พารามิเตอร์

ชื่อคำอธิบาย
setset
The set to count.
จำเป็น · ระบุตามตำแหน่งเท่านั้น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Int — จำนวนค่าที่ตั้งไว้

ตัวอย่าง

values = {1, 2, 2}
count = len(values)      # คืนค่า 2

set.membership_operator

ตรวจสอบว่ามีค่าอยู่ในชุดหรือไม่

รูปแบบคำสั่ง

value in set

พารามิเตอร์

ชื่อคำอธิบาย
valueAny?
Value to test.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น
setset
set ที่จะค้นหาค่า
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Boolean — จริงเมื่อมีค่าอยู่ มิฉะนั้นจะเป็นเท็จ

ตัวอย่าง

values = {1, 2, 3}
if 2 in values:
    text("ready")

set.add_method

เพิ่มหนึ่งค่าให้กับชุด ค่าที่มีอยู่จะถูกเก็บไว้เพียงครั้งเดียว

รูปแบบคำสั่ง

set.add(value, /)

พารามิเตอร์

ชื่อคำอธิบาย
valueAny?
Value to add.
จำเป็น · ระบุตามตำแหน่งเท่านั้น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

None — ไม่มีค่าตอบแทนโดยตรง ชุดได้รับการปรับปรุงในสถานที่

ตัวอย่าง

seen = set()
seen.add("home")

set.discard_method

ลบค่าหากมีอยู่ ค่าที่หายไปจะถูกละเว้น

รูปแบบคำสั่ง

set.discard(value, /)

พารามิเตอร์

ชื่อคำอธิบาย
valueAny?
Value to remove if present.
จำเป็น · ระบุตามตำแหน่งเท่านั้น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

None — ไม่มีค่าตอบแทนโดยตรง ชุดอาจมีการปรับปรุงในสถานที่

ตัวอย่าง

seen = {"home", "shop"}
seen.discard("shop")

set.remove_method

ลบค่าจาก set นี้ หรือแจ้ง KeyError หากไม่มีค่านั้น

รูปแบบคำสั่ง

set.remove(value, /)

พารามิเตอร์

ชื่อคำอธิบาย
valueAny?
Value that must exist in the set.
จำเป็น · ระบุตามตำแหน่งเท่านั้น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

None — ไม่มีค่าตอบแทนโดยตรง ชุดได้รับการปรับปรุงในสถานที่

ตัวอย่าง

seen = {"home", "shop"}
seen.remove("home")

set.pop_method

ลบและคืนค่าใดค่าหนึ่งจาก set นี้ หาก set ว่างจะแจ้ง KeyError

รูปแบบคำสั่ง

set.pop()

ค่าที่ส่งกลับ

Any? — Removed value.

ตัวอย่าง

seen = {"home", "shop"}
value = seen.pop()

set.update_method

เพิ่มค่าจากแหล่งข้อมูลที่วนลูปได้ลงใน set นี้ โดยเก็บค่าที่เท่ากันเพียงครั้งเดียว

รูปแบบคำสั่ง

set.update(*iterables)

พารามิเตอร์

ชื่อคำอธิบาย
iterablesIterable
Sources to add.
ไม่บังคับ · จำนวนอาร์กิวเมนต์ยืดหยุ่น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

None — ไม่มีค่าตอบแทนโดยตรง ชุดได้รับการปรับปรุงในสถานที่

ตัวอย่าง

seen = {"home"}
seen.update(["shop", "home"])

set.union_method

คืน set ใหม่ที่รวม set นี้กับแหล่งข้อมูลที่วนลูปได้ โดยไม่มีค่าซ้ำ set เดิมไม่เปลี่ยน

รูปแบบคำสั่ง

set.union(*iterables)

พารามิเตอร์

ชื่อคำอธิบาย
iterablesIterable
Sources to merge.
ไม่บังคับ · จำนวนอาร์กิวเมนต์ยืดหยุ่น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

set — Merged set copy.

ตัวอย่าง

a = {"home"}
b = a.union(["shop"])

set.intersection_method

คืน set ใหม่ที่มีค่าจาก set นี้ซึ่งปรากฏในทุกแหล่งข้อมูลที่ส่งมา หากไม่ส่งแหล่งข้อมูลจะคืนสำเนา set เดิมไม่เปลี่ยน

รูปแบบคำสั่ง

set.intersection(*iterables)

พารามิเตอร์

ชื่อคำอธิบาย
iterablesIterable
Sources to compare.
ไม่บังคับ · จำนวนอาร์กิวเมนต์ยืดหยุ่น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

set — Intersection set copy.

ตัวอย่าง

a = {"home", "shop"}
b = a.intersection(["shop"])

set.difference_method

คืน set ใหม่ที่มีค่าจาก set นี้ซึ่งไม่ปรากฏในแหล่งข้อมูลใดที่ส่งมา หากไม่ส่งแหล่งข้อมูลจะคืนสำเนา set เดิมไม่เปลี่ยน

รูปแบบคำสั่ง

set.difference(*iterables)

พารามิเตอร์

ชื่อคำอธิบาย
iterablesIterable
Sources to subtract.
ไม่บังคับ · จำนวนอาร์กิวเมนต์ยืดหยุ่น
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

set — Difference set copy.

ตัวอย่าง

a = {"home", "shop"}
b = a.difference(["home"])

set.copy_method

คืน set ใหม่ที่มีค่าเดิม การเพิ่มหรือลบค่าในสำเนาไม่เปลี่ยนต้นฉบับ

รูปแบบคำสั่ง

set.copy()

ค่าที่ส่งกลับ

set — ชุดใหม่ที่มีค่าเดียวกัน

ตัวอย่าง

seen = {1, 2}
copied = seen.copy()

set.clear_method

ลบทุกค่าออกจากชุด

รูปแบบคำสั่ง

set.clear()

ค่าที่ส่งกลับ

None — ไม่มีค่าตอบแทนโดยตรง ชุดจะว่างเปล่า

ตัวอย่าง

seen = {1, 2}
seen.clear()

set.for_loop

วนลูปผ่านแต่ละค่าหนึ่งครั้ง อย่าพึ่งพาลำดับใดโดยเฉพาะ

รูปแบบคำสั่ง

for value in set:

พารามิเตอร์

ชื่อคำอธิบาย
valueAny?
Current set value in the loop.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น
setset
set to iterate.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

None — ไม่มีค่าตอบแทนโดยตรง การวนซ้ำจะทำงานหนึ่งครั้งต่อค่า

ตัวอย่าง

values = {"home", "shop"}
for value in values:
    text(value)

set.truthy_check

ตรวจสอบว่าชุดมีค่าอย่างน้อยหนึ่งค่าหรือไม่ ชุดว่างจะถือเป็นเท็จ

รูปแบบคำสั่ง

if set | if not set

พารามิเตอร์

ชื่อคำอธิบาย
setset
The set used in the condition.
จำเป็น · ระบุตามตำแหน่งหรือชื่อ
ไม่มีค่าเริ่มต้น

ค่าที่ส่งกลับ

Boolean condition — จริงเมื่อชุดไม่ว่างเปล่า เท็จเมื่อชุดว่างเปล่า

ตัวอย่าง

seen = set()
if not seen:
    text("empty")