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

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

不言
Release: 2018-10-09 16:08:58
forward
4117 people have browsed it

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}
Copy after login

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'}
Copy after login

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'}
Copy after login

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}
Copy after login

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}
Copy after login

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}
Copy after login

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
Copy after login

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))
Copy after login
    交集: {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}
Copy after login

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
Copy after login

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!

Related labels:
source:segmentfault.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template