What is a collection?
- A set is an unordered and unrepeatable sequence
- Its basic usage includes member detection and de duplication
- Set objects also support mathematical operations such as union, intersection, difference set, symmetric difference and so on
- All elements in the collection are placed in the middle of {} and separated by commas
definition
A set is an unordered and non repetitive sequence. All elements in the set are placed in the middle of {} and separated by commas, for example:
- {1, 2, 3}, a list of 3 integers
- {'a', 'b', 'c'}, a list of three strings
Examples of collections
# statement cars = {'audi', 'bmw', 'Benz', 'bmw', 'Benz', 'Wuling'} print(cars) set_ = {1, 1, 3, 1, 2} print(set_) # Output results {'orange', 'pear', 'banana', 'apple'} {1, 2}
Automatic de duplication. Only one element is reserved for each element, and it is out of order
Let's take another example
set_ = {{1, }, {1, }} print(set_) set_ = {[1, ], [2, ]} print(set_) # Output results # set_ = {{1, }, {1, }} # TypeError: unhashable type: 'set' # set_ = {[1, ], [2, ]} # TypeError: unhashable type: 'list'
Why report an error?
**Important: * * because the set set can only contain immutable object elements, and the list and set itself are variable objects, an error will be reported
The difference between set and list
In Python, the difference between a set and a list is as follows:
- The elements in the list are allowed to be repeated, and the elements in the collection are not allowed to be repeated. Examples are as follows:
>>> x = {1, 1, 2, 3} >>> x {1, 2, 3}
In the above procedure, element 1 is repeated twice. When creating the set, the repeated elements are combined into one.
- The list is ordered and provides index operation. The collection is unordered and there is no index operation. An example is as follows
>>> x = {1, 2, 3} >>> x[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'set' object does not support indexing
In the above program, you tried to use the index operator to access the element of item 0 of the collection. The collection is out of order and does not provide index operation. An error occurs when running. The prompt: 'set' object does not support indexing.
Special set
How to create an empty collection
set_ = {} print(set_, type(set_)) # Output results {} <class 'dict'>
You cannot directly {} because it defaults to an empty dictionary
The correct way to create an empty set
set_ = set() print(set_, type(set_)) # Output results # set() <class 'set'>
Common operation
Operator|
Merge multiple sets
>>> {1, 2} | {3, 4} {1, 2, 3, 4} >>> {1, 2} | {3, 4} | {5, 6} {1, 2, 3, 4, 5, 6}
Operator-
Remove element from collection
>>> {1, 2, 3, 4} - {3, 4, 5, 6} {1, 2}
Operator&
Take the intersection and return the elements contained in both sets
>>> {1, 2, 3} & {3, 4, 5} {3}
Operator^
Take difference set
>>> {1, 2, 3} ^ {3, 4, 5} {1, 2, 4, 5}
Keyword in
Checks whether the collection contains the specified element
>>> 'jack' in {'lily', 'jack', 'hanmeimei'} True >>> 'neo' in {'lily', 'jack', 'hanmeimei'} False
Common methods
add(item) method
The add(item) method adds an element item to the collection. The example is as follows:
>>> x = {1, 2, 3} >>> x.add(4) >>> x {1, 2, 3, 4}
- In line 2, use the add method to add an element 4 to the collection
- In line 4, an element has been added to the display list
remove(item) method
The remove(item) method deletes the specified element item from the collection. An example is as follows:
>>> x = {'neo', 'lily', 'hanmeimei'} >>> x.remove('hanmeimei') >>> x {'neo', 'lily'}
- In line 2, use the remove method to remove an element 'imooc' from the collection
- In line 4, an element has been deleted from the display list
clear() method
The clear() method removes all elements in the collection. An example is as follows:
>>> x = {1, 2, 3} >>> x {1, 2, 3} >>> x.clear() >>> x set()
- In line 1, a collection of three elements is created
- In line 4, use the clear() method to remove all elements from the collection
- In line 5, the set is displayed, and the result shows that all elements have been deleted
union() method
The union() method returns the union of two sets, as shown in the following example:
>>> x = {1, 2, 3} >>> y = {4, 5, 6} >>> z = x.union(y) >>> z {1, 2, 3, 4, 5, 6}
- In line 3, use the union() method to return the union of sets x and y
- In line 4, the union of the two sets is displayed
intersection() method
The intersection() method returns the intersection of two sets. An example is as follows:
>>> x = {1, 2, 3} >>> y = {2, 3, 4} >>> z = x.intersection(y) >>> z {2, 3}
- In line 3, use the intersection() method to return the intersection of set x and set y
- In line 4, the intersection of the two sets is displayed
issubset() method
The issubset() method determines whether the specified set is a subset. An example is as follows:
>>> x = {1, 2, 3} >>> y = {1, 2} >>> y.isubset(x) True
- In line 3, use the issubset() method to determine whether set y is a subset of set x
- In line 4, the result shows that set {1,2} is a subset of set {1,2,3}
issuperset() method
The issuperset() method determines whether the specified set is a superset. An example is as follows:
>>> x = {1, 2, 3} >>> y = {1, 2} >>> x.isuperset(y) True
- In line 3, use the issuperset() method to determine whether set x is a superset of set y
- In line 4, the result shows that set {1,2,3} is a superset of set {1,2}
Section
The special feature that there are no duplicate elements in the collection is used to do a lot of things. For example, a cashier system needs to input all the sales information into the system. In order to avoid repeated input of the information of a cashier, you only need to store the information in the collection to avoid this error.