ทดลอง 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])
สมาชิก
- เพิ่ม
- clear
- difference
- difference_update
- discard
- intersection
- intersection_update
- isdisjoint
- issubset
- issuperset
- pop
- ลบ
- symmetric_difference
- symmetric_difference_update
- union
- update
เพิ่ม
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 ชุด ลำดับ หรือพจนานุกรม |