ตั้งค่า

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

ทดลอง API นี้ยังอยู่ในขั้นทดลองและอาจมีการเปลี่ยนแปลงได้ทุกเมื่อ โปรดอย่าใช้ข้อมูลนี้ คุณอาจเปิดใช้ฟีเจอร์นี้ในแบบทดลองได้โดยการตั้งค่า --experimental_enable_starlark_set

ประเภทชุดข้อมูลที่เปลี่ยนแปลงได้ในตัว ตัวอย่างนิพจน์ชุดค่าผสม

x = set()           # x is an empty set
y = set([1, 2, 3])  # y is a set with 3 elements
3 in y              # True
0 in y              # False
len(x)              # 0
len(y)              # 3

ชุดที่ใช้ในบริบทบูลีนจะเป็นจริงก็ต่อเมื่อชุดนั้นไม่ว่างเปล่าเท่านั้น

s = set()
"non-empty" if s else "empty"  # "empty"
t = set(["x", "y"])
"non-empty" if t else "empty"  # "non-empty"

องค์ประกอบของชุดต้องแฮชได้ x อาจเป็นองค์ประกอบของชุดได้ก็ต่อเมื่อ x สามารถใช้เป็นคีย์ของพจนานุกรมได้

ชุดเองก็ไม่สามารถแฮชได้ คุณจึงมีชุดที่มีชุดอื่นเป็นองค์ประกอบไม่ได้

คุณจะเข้าถึงองค์ประกอบของชุดตามดัชนีไม่ได้ แต่สามารถวนซ้ำองค์ประกอบเหล่านั้น และรับรายการองค์ประกอบของชุดตามลําดับการวนซ้ำได้โดยใช้ฟังก์ชันในตัว list() เช่นเดียวกับลิสต์ การทำการเปลี่ยนแปลงชุดในขณะที่มีการวนซ้ำจะเป็นข้อผิดพลาด ลำดับของการทำซ้ำจะตรงกับลําดับของใบสั่งซื้อการใส่โฆษณา ดังนี้

s = set([3, 1, 3])
s.add(2)
# prints 3, 1, 2
for item in s:
    print(item)
list(s)  # [3, 1, 2]

เซต s เท่ากับ t เฉพาะในกรณีที่ t เป็นเซตที่มีองค์ประกอบเดียวกัน ซึ่งอาจมีลําดับการวนซ้ำต่างกัน โดยเฉพาะอย่างยิ่ง ชุดจะnotเท่ากับรายการองค์ประกอบ

เซ็ตไม่มีลําดับ ไม่มีการกําหนดการดําเนินการ <, <=, > และ >= สําหรับเซ็ต และไม่สามารถจัดเรียงรายการเซ็ตได้ ซึ่งต่างจากใน Python

การดำเนินการ | ในชุด 2 ชุดจะแสดงผลรวมของชุด 2 ชุดนั้น ซึ่งเป็นชุดที่มีองค์ประกอบที่พบในชุดเดิมชุดใดชุดหนึ่งหรือทั้ง 2 ชุด การดำเนินการ | มีเวอร์ชันการมอบหมายที่เพิ่มเข้ามา s |= t จะเพิ่มองค์ประกอบทั้งหมดของ t ลงใน s

set([1, 2]) | set([3, 2])  # set([1, 2, 3])
s = set([1, 2])
s |= set([2, 3, 4])        # s now equals set([1, 2, 3, 4])

การดำเนินการ & ในชุด 2 ชุดจะแสดงผลลัพธ์ที่ตัดกันของชุด 2 ชุด ซึ่งเป็นชุดที่มีเฉพาะองค์ประกอบที่พบในชุดเดิมทั้ง 2 ชุด การดำเนินการ & มีเวอร์ชันการกําหนดค่าที่เพิ่มเข้ามา โดย s &= t จะนําองค์ประกอบทั้งหมดที่ไม่พบใน t ออกจาก s

set([1, 2]) & set([2, 3])  # set([2])
set([1, 2]) & set([3, 4])  # set()
s = set([1, 2])
s &= set([0, 1])           # s now equals set([1])

การดำเนินการ - ในชุด 2 ชุดจะแสดงผลต่างของชุด 2 ชุด ได้แก่ ชุดที่มีองค์ประกอบที่พบในชุดด้านซ้ายมือ แต่ไม่มีในชุดด้านขวามือ การดำเนินการ - มีเวอร์ชันการกําหนดค่าที่เพิ่มเข้ามา s -= t นําองค์ประกอบทั้งหมดที่พบใน t ออกจาก s

set([1, 2]) - set([2, 3])  # set([1])
set([1, 2]) - set([3, 4])  # set([1, 2])
s = set([1, 2])
s -= set([0, 1])           # s now equals set([2])

การดำเนินการ ^ ในชุด 2 ชุดจะแสดงผลต่างแบบสมมาตรของชุด 2 ชุดนั้นๆ ซึ่งก็คือชุดที่มีองค์ประกอบที่พบในชุดเดิมเพียงชุดเดียว แต่ไม่ได้อยู่ในทั้ง 2 ชุด การดำเนินการ ^ มีเวอร์ชันการกําหนดค่าที่เพิ่มเข้ามา โดย s ^= t จะนําองค์ประกอบ t ที่พบใน s ออกจาก s และเพิ่มองค์ประกอบ t ที่ไม่พบใน s ลงใน s

set([1, 2]) ^ set([2, 3])  # set([1, 3])
set([1, 2]) ^ set([3, 4])  # set([1, 2, 3, 4])
s = set([1, 2])
s ^= set([0, 1])           # s now equals set([2, 0])

สมาชิก

เพิ่ม

None set.add(element)

เพิ่มองค์ประกอบลงในชุด

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
element required
องค์ประกอบที่จะเพิ่ม

ล้าง

None set.clear()

นำองค์ประกอบทั้งหมดของชุดออก

ความแตกต่าง

set set.difference(*others)

แสดงผลชุดใหม่แบบปรับเปลี่ยนได้ซึ่งมีผลต่างของชุดนี้กับชุดอื่นๆ

เช่น

set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
others required
ชุด ลำดับ หรือพจนานุกรม

difference_update

None set.difference_update(*others)

นำองค์ประกอบที่พบในชุดอื่นๆ ออกจากชุดนี้

เช่น

x = set([1, 2, 3, 4])
x.difference_update([2, 3], [3, 4])
# x is now set([1])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
others required
ชุด ลำดับ หรือพจนานุกรม

ทิ้ง

None set.discard(element)

นำองค์ประกอบออกจากชุดหากมี

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
element required
องค์ประกอบที่จะทิ้ง

อินเตอร์เซกชัน

set set.intersection(*others)

แสดงผลชุดใหม่แบบปรับเปลี่ยนได้ซึ่งมีจุดตัดของชุดนี้กับชุดอื่นๆ

เช่น

set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
others required
ชุด ลำดับ หรือพจนานุกรม

intersection_update

None set.intersection_update(*others)

นำองค์ประกอบที่ไม่พบในชุดอื่นๆ ทั้งหมดออกจากชุดนี้

เช่น

x = set([1, 2, 3, 4])
x.intersection_update([2, 3], [3, 4])
# x is now set([3])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
others required
ชุด ลำดับ หรือพจนานุกรม

isdisjoint

bool set.isdisjoint(other)

แสดงค่า "จริง" หากชุดนี้ไม่มีองค์ประกอบใดๆ ที่เหมือนกันกับชุดอื่น

เช่น

set([1, 2]).isdisjoint([3, 4]) == True
set().isdisjoint(set()) == True
set([1, 2]).isdisjoint([2, 3]) == False

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
other required
ชุด ลำดับ หรือพจนานุกรม

issubset

bool set.issubset(other)

แสดงค่า "จริง" หากชุดนี้เป็นชุดย่อยของอีกชุดหนึ่ง

เช่น

set([1, 2]).issubset([1, 2, 3]) == True
set([1, 2]).issubset([1, 2]) == True
set([1, 2]).issubset([2, 3]) == False

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
other required
ชุด ลำดับ หรือพจนานุกรม

issuperset

bool set.issuperset(other)

แสดงผลลัพธ์เป็น "จริง" หากชุดนี้เป็นชุดที่รวมชุดอื่น

เช่น

set([1, 2, 3]).issuperset([1, 2]) == True
set([1, 2, 3]).issuperset([1, 2, 3]) == True
set([1, 2, 3]).issuperset([2, 3, 4]) == False

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
other required
ชุด ลำดับ หรือพจนานุกรม

ป็อป

unknown set.pop()

นำองค์ประกอบแรกออกจากชุดและแสดงผล ดำเนินการไม่สำเร็จหากชุดข้อมูลว่างเปล่า

นำข้อมูลออก

None set.remove(element)

นำองค์ประกอบออกจากชุด ซึ่งต้องอยู่ในชุด ดำเนินการไม่สำเร็จหากองค์ประกอบไม่ได้อยู่ในชุด

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
element required
องค์ประกอบที่จะนําออก

symmetric_difference

set set.symmetric_difference(other)

แสดงผลชุดใหม่แบบปรับเปลี่ยนได้ซึ่งมีผลต่างแบบสมมาตรของชุดนี้กับชุดอื่น ลำดับ หรือพจนานุกรม

เช่น

set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
other required
ชุด ลำดับ หรือพจนานุกรม

symmetric_difference_update

None set.symmetric_difference_update(other)

แสดงผลชุดใหม่แบบปรับเปลี่ยนได้ซึ่งมีผลต่างแบบสมมาตรของชุดนี้กับชุดอื่น ลำดับ หรือพจนานุกรม

เช่น

set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
other required
ชุด ลำดับ หรือพจนานุกรม

Union

set set.union(*others)

แสดงผลชุดใหม่แบบปรับเปลี่ยนได้ซึ่งมียูเนียนของชุดนี้กับชุดอื่นๆ

เช่น

set([1, 2]).union([2, 3, 4], [4, 5]) == set([1, 2, 3, 4, 5])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
others required
ชุด ลำดับ หรือพจนานุกรม

อัปเดต

None set.update(*others)

เพิ่มองค์ประกอบที่พบในชุดอื่นๆ ลงในชุดนี้

เช่น

x = set([1, 2])
x.update([2, 3], [3, 4])
# x is now set([1, 2, 3, 4])

พารามิเตอร์

พารามิเตอร์ คำอธิบาย
others required
ชุด ลำดับ หรือพจนานุกรม