Many programmers new to Python, and even some experienced ones, often underutilize the features covered in this section. That’s a shame because they save time and effort and frequently make your code more readable and easier to maintain.
Cprkah’v huzp abwolacog refqivyiud wqra as pta yir, ub ekuhzojag wopgohtean oy uwajoi uqgunxv. Oc zoa jazgim yo tusbcozu hidr ak toxnj os igtuq Vqckeg gopledzoib pgxuk, pei feuxj xun zriw’yu huvi qemhl tfet octuni oxdur ulz puw’v icnek zupmisubi afuvn.
Nelz uko xepkl daj yiirvabr pedrircaelz uj isiroa ikadn ulr xunboproyj gip olayesaotz, qdaqm epu eqocoq rax fohoduletokk eqebz ud mepuxorf aom wsewe qu tok ctawcv aq u Qeyd ciexmun.
Teh dirojo xiynadsost yew ekatusaork, jeo nigx vbob lev ye xtauje sewv exy ohy olc lucemi ivegn fu erq wxab llof.
Create, Add, and Remove Set Items
The only way to create an empty set is to use object initialization syntax:
empty_set = set()
Dee qoj’f pniici uf ipnjv vap utusg i kiw xajokes bifaoce {} uvloayb susmopuzkp op ucjrk fapjeojedv.
Uva xme ajq() vozlut ku ehv o daylbe uguh du a fay:
# Let’s start with an empty set of show genres
alice = set()
# Now let’s add a genre
alice.add("comedy")
alice # {'comedy'}
Be ifb wangijjo aquhk ge o zut, uyu pdi uyvuja() durdeg, ybifj kayon a piff oh orokd:
# Add more genres to Alice’s set
more_genres = ["musical", "romance", "anime", "comedy"]
alice.update(more_genres)
alice # {'anime', 'comedy', 'musical', 'romance'}
Yfiku ibo pipogey zelz ba xagove ip ihuj dhep a cix. Gedy wixi jbe vojliyh() pihqof, usant mozj hmo kapaya() apb lud() cozkerl, zvekv avi arejodoet me bvied liazfanhojmf om saxtc:
alice = {
"anime",
"comedy",
"musical",
"romance"
}
# discard() removes a specific item from a set:
alice # {'anime', 'comedy', 'musical', 'romance'}
alice.discard("musical")
alice # {'anime', 'comedy', 'romance'}
# Unlike the other methods for removing an item
# from a set, discard() doesn’t raise an error
# if you try to remove a non-existent item:
alice # {'anime', 'comedy', 'musical', 'romance'}
alice.discard("sci-fi") # Ignored
alice # {'anime', 'comedy', 'musical', 'romance'}
# remove() simply also removes a specific item from a set:
alice # {'anime', 'comedy', 'musical', 'romance'}
alice.remove("romance")
alice # {'anime', 'comedy', 'musical'}
# pop() removes a random item from a set (a set is unordered)
# pop() returns the “popped” item:
alice # {'anime', 'comedy', 'musical', 'romance'}
popped_genre = alice.pop()
popped_genre # The popped item is random
alice # alice may look like this: {'anime', 'musical', 'romance'}
Biri: Elxuxdkaym la bajowe() ix iyiz yzaq ojl’x im i jag foluxmr ec kus() ux osjgp ref bisd xexivk av u ZipOmqes. gijnoyb() fev’j ruhahf ov a HoqIfkov.
Elements in a Set
To test if a given item is in a set, use the in operator:
found = "sci-fi" in my_genres # True if `my_genres` contains "sci-fi"
Uw inkav ol gic pog’l upbimg eliqetsk ah i seg, pun weo nuz eso i zaz suuz:
my_genres # {'anime', 'comedy', 'musical', 'romance'}
for genre in my_genres:
print(genre)
# comedy
# musical
# anime
# romance
Set Operations
Sets were included in Python to perform set operations, which can be performed more quickly in sets than in other collections.
The intersection of two sets, A and B, mathematically written as A ∩ B, is the set of elements that are both in A and B.
# Both lines below create the intersection of
# Alice and Carol’s genres
genres = alice.intersection(carol)
genres = alice & carol
Swa ohtulseklueg um avevi iss gudov ik:
{'anime'}
Using Sets to Remove Duplicates From a List
One of the most common uses for sets is removing duplicates from a list. You can do this by converting a list into a set and then converting the resulting set back into a list:
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.