Python 删除集合项

Python 删除集合项

Python的集合类提供了不同的方法来从集合对象中移除一个或多个项。

remove()方法

remove()方法从集合中移除给定的项,如果该项存在。但是,如果不存在该项,则会引发KeyError。

语法

set.remove(obj)

参数

  • obj - 一个不可变对象

示例

lang1 = {"C", "C++", "Java", "Python"}
print ("Set before removing: ", lang1)
lang1.remove("Java")
print ("Set after removing: ", lang1)
lang1.remove("PHP")

它将产生以下 输出

Set before removing: {'C', 'C++', 'Python', 'Java'}
Set after removing: {'C', 'C++', 'Python'}
   lang1.remove("PHP")
KeyError: 'PHP'

discard() 方法

set 类中的 discard() 方法类似于 remove() 方法。唯一的区别是,即使要移除的对象在集合中不存在,它也不会引发错误。

语法

set.discard(obj)

参数

  • obj - 一个不可变的对象

示例

lang1 = {"C", "C++", "Java", "Python"}
print ("Set before discarding C++: ", lang1)
lang1.discard("C++")
print ("Set after discarding C++: ", lang1)
print ("Set before discarding PHP: ", lang1)
lang1.discard("PHP")
print ("Set after discarding PHP: ", lang1)

它将产生以下输出。

Set before discarding C++: {'Java', 'C++', 'Python', 'C'}
Set after discarding C++: {'Java', 'Python', 'C'}
Set before discarding PHP: {'Java', 'Python', 'C'}
Set after discarding PHP: {'Java', 'Python', 'C'}

pop()方法

pop() 方法在集合类中从集合中删除一个任意的元素。该方法返回被删除的元素。从空集合中弹出元素会导致 KeyError。

语法

obj = set.pop()

返回值

pop()方法返回从集合中移除的对象。

示例

lang1 = {"C", "C++"}
print ("Set before popping: ", lang1)
obj = lang1.pop()
print ("object popped: ", obj)
print ("Set after popping: ", lang1)
obj = lang1.pop()
obj = lang1.pop()

它将产生以下输出 –

Set before popping: {'C++', 'C'}
object popped: C++
Set after popping: {'C'}
Traceback (most recent call last):
   obj = lang1.pop()
         ^^^^^^^^^^^
KeyError: 'pop from an empty set'

在调用pop()方法的第三次时,集合为空,因此会引发KeyError。

clear()方法

clear()方法用于移除集合中的所有项目,使集合变为空集。

语法

set.clear()

示例

lang1 = {"C", "C++", "Java", "Python"}
print (lang1)
print ("After clear() method")
lang1.clear()
print (lang1)

它将产生以下 输出

{'Java', 'C++', 'Python', 'C'}
After clear() method
set()

difference_update() 方法

difference_update() 方法在集合类中更新集合,通过移除与作为参数给定的另一个集合共同的项目。

语法

set.difference_update(obj)

参数

  • obj − 一个集合对象

示例

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print ("s1 before running difference_update: ", s1)
s1.difference_update(s2)
print ("s1 after running difference_update: ", s1)

它将产生以下 输出

s1 before running difference_update: {1, 2, 3, 4, 5}
s1 after running difference_update: {1, 2, 3}
set()

difference() 方法

difference() 方法类似于 difference_update() 方法,但它返回一个包含两个现有集合差异的新集合对象。

语法

set.difference(obj)

参数

  • obj - 一个集合对象

返回值

difference() 方法返回一个新的集合,其中包含从原集合中删除了 obj 中存在的项后剩下的项。

示例

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print ("s1: ", s1, "s2: ", s2)
s3 = s1.difference(s2)
print ("s3 = s1-s2: ", s3)

它将产生以下 输出

s1: {1, 2, 3, 4, 5} s2: {4, 5, 6, 7, 8}
s3 = s1-s2: {1, 2, 3}

intersection_update() 方法

通过 intersection_update() 方法,集合对象仅保留与作为参数的其他集合对象共同的项。

语法

set.intersection_update(obj)

参数

  • obj − 一个集合对象

返回值

intersection_update() 方法移除不常见的项,并保留仅属于自身和 obj 的项。

示例

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print ("s1: ", s1, "s2: ", s2)
s1.intersection_update(s2)
print ("a1 after intersection: ", s1)

它将产生以下 输出 -

s1: {1, 2, 3, 4, 5} s2: {4, 5, 6, 7, 8}
s1 after intersection: {4, 5}

intersection() 方法

set 类中的 intersection() 方法类似于其 intersection_update() 方法,但它返回一个由已存在集合中共有项组成的新的集合对象。

语法

set.intersection(obj)

参数

  • obj - 一个集合对象

返回值

intersection() 方法返回一个集合对象,仅保留在自身和 obj 中都存在的项。

示例

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print ("s1: ", s1, "s2: ", s2)
s3 = s1.intersection(s2)
print ("s3 = s1 & s2: ", s3)

它将产生以下输出

output

s1: {1, 2, 3, 4, 5} s2: {4, 5, 6, 7, 8}
s3 = s1 & s2: {4, 5}

symmetric_difference_update() 方法

两个集合之间的对称差是所有不同的元素的集合,排除公共元素。symmetric_difference_update() 方法通过该集合与给定的集合的对称差来更新集合。

语法

set.symmetric_difference_update(obj)

参数

  • obj − 一个集合对象

示例

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print ("s1: ", s1, "s2: ", s2)
s1.symmetric_difference_update(s2)
print ("s1 after running symmetric difference ", s1)

它将产生以下输出: 输出

s1: {1, 2, 3, 4, 5} s2: {4, 5, 6, 7, 8}
s1 after running symmetric difference {1, 2, 3, 6, 7, 8}

symmetric_difference() 方法

set 类中的 symmetric_difference() 方法与 symmetric_difference_update() 方法类似,唯一的区别是 symmetric_difference() 方法返回一个新的集合对象,该对象包含两个集合中所有不共有的元素。

语法

set.symmetric_difference(obj)

参数

  • obj − 一个集合对象

返回值

symmetric_difference() 方法返回一个新的集合,其中只包含两个集合对象之间没有公共项的项。

示例

s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
print ("s1: ", s1, "s2: ", s2)
s3 = s1.symmetric_difference(s2)
print ("s1 = s1^s2 ", s3)

它将产生以下 输出

s1: {1, 2, 3, 4, 5} s2: {4, 5, 6, 7, 8}
s1 = s1^s2 {1, 2, 3, 6, 7, 8}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程