Home  >  Article  >  Backend Development  >  What is the concept of Python collections? Introduction to Python Collections

What is the concept of Python collections? Introduction to Python Collections

不言
不言forward
2018-10-09 16:08:584069browse

This article brings you what is the concept of Python collections? The introduction of Python collections has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Description of collection

A collection is an unordered, non-duplicate data collection. It itself is mutable, but the elements inside are immutable. Type (note here that even a tuple containing a list is not allowed, it must be a completely immutable type)

Create a collection

You can use curly brackets to create a collection {} is used to create, and the elements are separated by commas, but it cannot be used to create an empty collection, because {} creates an empty dictionary.

如 set1 = {1,2,3}

You can also use the set() function to create a collection, where the parameters are iterable objects (such as strings, lists, tuples, iterators, etc.), provided that the elements must be immutable type.

i = 'abcdefg'
a =set(i)
print(type(a))
print(a)
----------
<class &#39;set&#39;>
{'b', 'a', 'f', 'd', 'g', 'e', 'c'}

Add add update

add(elem)
You can add a new element to the collection, if the element already exists, it will not Make any changes

s1 = {1,2,3}
s1.add('qwe')
print(s1)
----------
{1, 2, 3, 'qwe'}

update(*others)
Can add other iterable objects (such as strings, lists, tuples) to the collection and automatically remove duplicate elements

s1 = {1,2,3}
it = [3,4,5]
s1.update(it)
print(s1)
----------
{1, 2, 3, 4, 5}

Delete remove(elem) discard(elem) pop() clear()

remove(elem)
Remove elements from the collection If the element does not exist, an error will be reported.

s1 = {1,2,3}
s1.remove(2)
print(s1)
----------
{1, 3}

discard(elem)
Like remove, you can delete elements from the collection. The difference is that if the element does not exist, no error will be reported.

s1 = {1,2,3}
s1.discard(6)
print(s1)
----------
{1, 2, 3}

pop()
Randomly delete an element from the set and return the element. If the set is empty, an error will be reported

s1 = {1,2,3}
a = s1.pop()
print(s1)
print(a)
----------
{2, 3}
1

clear ()
is used to clear the collection.

Several operating methods

There are several operating methods for sets: intersection, union, difference set, anti-intersection, subset, superset
The following uses code to explain the usage of each method in detail

s1 = {1,2,3,4,5}
s2 = {3,4,5,6,7}
print('交集:',s1 & s2) #可用&或者intersection,输出一个新的集合,包含共同拥有的元素
print('交集:',s1.intersection(s2))
print('并集:',s1 | s2) #可用|或者union,输出一个新的集合,包含两个集合中所有的元素(去重)
print('并集:',s1.union(s2))
print('差集:',s1 - s2) #可用 - 或者difference,输出一个新的集合,包含前一个集合中除去共有的元素
print('差集:',s1.difference(s2))
print('反交集:',s1 ^ s2) #可用^或者 symmetric_difference,输出一个新的集合,包含两个集合中除去共有的元素后剩余的所有元素
print('反交集:',s1.symmetric_difference(s2))
    交集: {3, 4, 5}
    交集: {3, 4, 5}
    并集: {1, 2, 3, 4, 5, 6, 7}
    并集: {1, 2, 3, 4, 5, 6, 7}
    差集: {1, 2}
    差集: {1, 2}
    反交集: {1, 2, 6, 7}
    反交集: {1, 2, 6, 7}

Subsets and supersets. Simply put, the elements in one set contain all the elements in another set. The "large" set is called Superset, "small" is called subset

s1 = {1,2,3}
s2 = {1,2,3,4,5}
print(s1.issubset(s2)) #输出为True,s1是s2的子集
print(s2.issuperset(s1))#输出为True,s2是s1的超集
----------
    True
    True

In addition, using frozenset('set name'), you can turn the set into an immutable set

The above is the detailed content of What is the concept of Python collections? Introduction to Python Collections. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete