Set sa Python

集合(Set)

集合是无序和无索引的集合。在 Python 中,集合用花括号编写。

Isang instance

创建集合:

thisset = {"apple", "banana", "cherry"}
print(thisset)

Paglunsad ng isang instance

Komento:集合是无序的,因此您无法确定项目的显示顺序。

访问项目

您无法通过引用索引来访问 set 中的项目,因为 set 是无序的,项目没有索引。

但是您可以使用 for 循环遍历 set 项目,或者使用 in 关键字查询集合中是否存在指定值。

Isang instance

遍历集合,并打印值:

thisset = {"apple", "banana", "cherry"}
for x in thisset:
  print(x)

Paglunsad ng isang instance

Isang instance

检查 set 中是否存在 “banana”:

thisset = {"apple", "banana", "cherry"}
print("banana" in thisset)

Paglunsad ng isang instance

更改项目

集合一旦创建,您就无法更改项目,但是您可以添加新项目。

添加项目

要将一个项添加到集合,请使用 add() 方法。

要向集合中添加多个项目,请使用 update() 方法。

Isang instance

Gamitin add() 方法向 set 添加项目:

thisset = {"apple", "banana", "cherry"}
thisset.add("orange")
print(thisset)

Paglunsad ng isang instance

Isang instance

Gamitin update() 方法将多个项添加到集合中:

thisset = {"apple", "banana", "cherry"}
thisset.update(["orange", "mango", "grapes"])
print(thisset)

Paglunsad ng isang instance

获取 Set 的长度

要确定集合中有多少项,请使用 len() 方法。

Isang instance

获取集合中的项目数:

thisset = {"apple", "banana", "cherry"}
print(len(thisset))

Paglunsad ng isang instance

删除项目

要删除集合中的项目,请使用 remove()discard() 方法。

Isang instance

Gamitin remove() 方法来删除 “banana”:

thisset = {"apple", "banana", "cherry"}
thisset.remove("banana")
print(thisset)

Paglunsad ng isang instance

Komento:如果要删除的项目不存在,则 remove() 将引发错误。

Isang instance

Gamitin discard() 方法来删除 “banana”:

thisset = {"apple", "banana", "cherry"}
thisset.discard("banana")
print(thisset)

Paglunsad ng isang instance

Komento:如果要删除的项目不存在,则 discard() 不会引发错误。

您还可以使用 pop() 方法删除项目,但此方法将删除最后一项。请记住,set 是无序的,因此您不会知道被删除的是什么项目。

pop() 方法的返回值是被删除的项目。

Isang instance

Gamitin pop() 方法删除最后一项:

thisset = {"apple", "banana", "cherry"}
x = thisset.pop()
print(x)
print(thisset)

Paglunsad ng isang instance

Komento:集合是无序的,因此在使用 pop() 方法时,您不会知道删除的是哪个项目。

Isang instance

clear() 方法清空集合:

thisset = {"apple", "banana", "cherry"}
thisset.clear()
print(thisset)

Paglunsad ng isang instance

Isang instance

del Tutuluyan na mabura ang koleksyon:

thisset = {"apple", "banana", "cherry"}
del thisset
print(thisset)

Paglunsad ng isang instance

Ipagkakasmpalataya ng dalawang koleksyon

Mayroon ng ilang paraan sa Python na magkakasampalataya ng dalawang o higit pang koleksyon.

Maaari mong gamitin ang union() na method upang ibalik ang isang bagong koleksyon na naglalaman ng lahat ng proyekto ng dalawang koleksyon, o gamitin ang update() na method upang idaragdag ang lahat ng proyekto ng isang koleksyon sa ibang koleksyon:

Isang instance

Union() na method ay ibabalik ang isang bagong koleksyon na naglalaman ng lahat ng proyekto ng dalawang koleksyon:

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)

Paglunsad ng isang instance

Isang instance

Ang update() na method ay magdaragdag ng mga proyekto ng set2 sa set1:

set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)

Paglunsad ng isang instance

Komento:Union() at update() ay magbawas ng anumang kapulungan.

Mayroon pang ibang mga paraan na magkakasampalataya ng dalawang koleksyon, at mag-iisa lamang ang kapulungan ng kapulungan, o walang kapulungan, tingnan ang kumpletong listahan ng mga set na method sa ibaba ng pahina.

Constructor na set()

Maaari rin gamitin set() Mga constructor upang bumuo ng koleksyon.

Isang instance

Gamitin set() Mga constructor upang bumuo ng koleksyon:

thisset = set(("apple", "banana", "cherry")) # Pansin ang dalawang balakang
print(thisset)

Paglunsad ng isang instance

Mga Set na Paraan

May isang set ng inumin na maaaring gamitin ang mga inumin sa koleksyon (set) sa Python.

Mga paraan Paglalarawan
add() Magdagdag ng elemento sa koleksyon.
clear() Hilalisin ang lahat ng elemento ng koleksyon.
copy() Ibinalik ang kopya ng koleksyon.
difference() Ibinalik ang koleksyon na ayon sa pagkakaiba ng dalawang o higit pang koleksyon.
difference_update() Hilalisin ang mga proyekto na nasa koleksyon at nasa ibang tinukoy na koleksyon.
discard() Hilalisin ang tinukoy na proyekto.
intersection() Ibinalik ang koleksyon na ayon sa kapuwaan ng dalawang ibang koleksyon.
intersection_update() Hilalisin ang mga proyekto na wala sa ibang tinukoy na koleksyon.
isdisjoint() Ibinalik ang kung ang dalawang koleksyon ay may kapuwaan.
issubset() Ibinalik ang kung ang ibang koleksyon ay naglalaman ng koleksyon.
issuperset() Ibinalik ang kung ang koleksyon ay naglalaman ng ibang koleksyon.
pop() Hilalisin ang isang elemento mula sa koleksyon.
remove() Hilalisin ang tinukoy na elemento.
symmetric_difference() Bumalik sa koleksyon na mayroon sa simetriko na pagkakaiba ng dalawang koleksyon.
symmetric_difference_update() I-insert ang simetriko na pagkakaiba ng ito at ang ibang koleksyon.
union() Bumalik sa koleksyon na mayroon sa pinagsamang koleksyon.
update() I-update ang koleksyon gamit ang pagkakasamang sa ibang koleksyon.