Python 集合数据类型类似于列表。但是,它不接受重复项(唯一值)。它是一个无序的、零个或多个无索引(没有索引位置)项的集合。
集合允许可变项,因此添加和删除项非常容易。但是,由于没有索引,切片是不可能的。通常,集合对于执行诸如并集、交集、比较和差集等数学运算非常有用。
Python 集合声明
可以通过将所需项放在花括号内或使用不带任何参数的 set() 函数来创建它。它允许您将不同数据类型的项(如整数、字符串等)放在一个集合中。以下是可用于声明它们的可用方法列表。
# Declaration
# Empty
s1 = {}
s2 = set()
# With Integer Keys
s3 = {1, 2, 3, 4, 5}
# with String Keys
s4 = {'apple', 'kiwi', 'banana', 'orange'}
# with Mixed Data Types
s5 = {1, 2, 1.5, 2.5, 'apple'}
s6 = {'banana', 1, 2, (1, 2, 3)}
# Using ()
s7 = set([1, 2, 3, 4, 5])
s8 = set((1, 2, 3, 4, 5, 6, 7))
# Example 2
s9 = (['apple', 'kiwi', 'banana', 'orange'])
s10 = (('apple', 'kiwi', 'banana', 'orange'))
Python 集合示例
让我声明几个并打印它们。这有助于理解这个概念。
# Declaration
# Empty
s1 = {}
s2 = set()
# with Integer Keys
s3 = {1, 2, 3, 4, 5}
# with String Keys
s4 = {'apple', 'kiwi', 'banana', 'orange'}
print(s1)
print(s2)
print(s3)
print(s4)
{}
set()
{1, 2, 3, 4, 5}
{'apple', 'kiwi', 'orange', 'banana'}
混合集合示例
我们可以使用多种数据类型创建这个集合。在此示例中,我们使用混合数据类型声明它。接下来,我们使用 () 声明。
# Mixed Data Types
myS1 = {1, 2, 1.5, 2.5, 'apple'}
myS2 = {'banana', 1, 2, (1, 2, 3)}
print(myS1)
print(myS2)
myS3 = set([1, 2, 3, 4, 5])
print(myS3)
myS5 = (['apple', 'kiwi', 'banana', 'orange'])
myS6 = (('apple', 'kiwi', 'banana', 'orange'))
print(mySet5)
print(mySet6)
{1, 2, 2.5, 1.5, 'apple'}
{1, 2, (1, 2, 3), 'banana'}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 6, 7}
['apple', 'kiwi', 'banana', 'orange']
('apple', 'kiwi', 'banana', 'orange')
{} 与 set()
此 Python 示例展示了声明时 {} 和 set() 之间的区别。
mySet = {'TutorialGateway'}
mySet1 = set('TutorialGateway')
print(mySet)
print(mySet1)
mySet2 = {123456}
mySet3 = set('123456')
print(mySet2)
print(mySet3)
{'TutorialGateway'}
{'o', 'y', 'e', 't', 'u', 'G', 'l', 'T', 'a', 'r', 'i', 'w'}
{123456}
{'3', '1', '4', '6', '2', '5'}
如何将列表转换为集合?
通过在列表前后添加花括号,可以将列表转换。
mySet = [1, 2, 3]
print(mySet)
print({mySet})
[1, 2, 3]
Traceback (most recent call last):
File "/Users/suresh/Desktop/simple.py", line 4, in <module>
print({mySet})
TypeError: unhashable type: 'list'
如何将字典转换为集合?
如果您使用上述技术转换字典,它将引发错误。
mySet1 = {'a':1, 'b':2, 'c':3}
print(mySet1)
print({mySet1})
{'a': 1, 'b': 2, 'c': 3}
Traceback (most recent call last):
File "/Users/suresh/Desktop/simple.py", line 4, in <module>
print({mySet1})
TypeError: unhashable type: 'dict'
如何使用 add 和 update 将项插入集合中?
以下选项可用于将新项插入现有项中。
update 方法帮助我们添加多个元素。在这里,我们添加多个项。请记住,如果您在 update 方法中使用重复值,Python 会忽略它们。
mySet = {1, 2, 4, 5}
print("Old Items = ", mySet)
mySet.update([2, 3, 6, 7])
print("New Items = ", mySet)
mySet.update([2, 3, 6, 7], {5, 8, 9})
print("New Items = ", mySet)
FruitSet = {'apple', 'Mango', 'orange','kiwi'}
print("\nOld Items = ", FruitSet)
FruitSet.update({'banana', 'cherry'})
print("New Items = ", FruitSet)
Old Items = {1, 2, 4, 5}
New Items = {1, 2, 3, 4, 5, 6, 7}
New Items = {1, 2, 3, 5, 6, 7, 8, 9}
Old Items = {'apple', 'Mango', 'kiwi', 'orange'}
New Items = {'banana', 'kiwi', 'orange', 'apple', 'Mango', 'cherry'}
del 语句会完全删除它。如果在执行此 del 方法后选择对象,它将引发错误。这是因为此 del 函数会完全删除它。
mySet = {1, 2, 3, 4, 5, 6, 7, 8, 9}
print("Old Items = ", mySet)
del mySet
print("New Items = ", mySet)
