Python 集合

Python 集合

集合是Python中的一种内置数据类型。在数学中,集合是一组不同的对象。集合数据类型是Python对集合的实现。集合中的对象可以是任何数据类型。

在Python中,集合也是一种集合数据类型,类似于列表或元组。然而,它不是一个有序的集合,即无法通过其位置索引访问集合中的项目。集合对象是由花括号{}括起来的一个或多个不可变对象的集合。

示例1

下面是一些集合对象的例子 –

s1 = {"Rohan", "Physics", 21, 69.75}
s2 = {1, 2, 3, 4, 5}
s3 = {"a", "b", "c", "d"}
s4 = {25.50, True, -55, 1+2j}
print (s1)
print (s2)
print (s3)
print (s4)

它将产生以下输出。

{'Physics', 21, 'Rohan', 69.75}
{1, 2, 3, 4, 5}
{'a', 'd', 'c', 'b'}
{25.5, -55, True, (1+2j)}

以上的结果显示,赋值中对象的顺序在集合对象中并不一定被保留。这是因为Python优化了集合的结构以进行集合操作。

除了使用字面值表示集合(将项放在花括号内),Python的内置set()函数也可以构建集合对象。

set()函数

set()是内置函数之一。它接受任何序列对象(列表、元组或字符串)作为参数,并返回一个集合对象。

语法

Obj = set(sequence)

参数

  • sequence - 一个列表、元组或字符串类型的对象

返回值

set()函数从序列中返回一个集合对象,丢弃其中的重复元素。

示例2

L1 = ["Rohan", "Physics", 21, 69.75]
s1 = set(L1)
T1 = (1, 2, 3, 4, 5)
s2 = set(T1)
string = "TutorialsPoint"
s3 = set(string)

print (s1)
print (s2)
print (s3)

它将产生以下 输出

{'Rohan', 69.75, 21, 'Physics'}
{1, 2, 3, 4, 5}
{'u', 'a', 'o', 'n', 'r', 's', 'T', 'P', 'i', 't', 'l'}

示例3

集合是一组不同的对象。即使在集合中重复一个对象,也只会保留一个副本。

s2 = {1, 2, 3, 4, 5, 3,0, 1, 9}
s3 = {"a", "b", "c", "d", "b", "e", "a"}
print (s2)
print (s3)

它将产生以下 输出

{0, 1, 2, 3, 4, 5, 9}
{'a', 'b', 'd', 'c', 'e'}

示例4

只有不可变对象才能用来构成一个set对象。任何数值类型、字符串和元组都是允许的,但不能将列表或字典放入set中。

s1 = {1, 2, [3, 4, 5], 3,0, 1, 9}
print (s1)
s2 = {"Rohan", {"phy":50}}
print (s2)

它将产生以下 输出

s1 = {1, 2, [3, 4, 5], 3,0, 1, 9}
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'list'
   s2 = {"Rohan", {"phy":50}}
        ^^^^^^^^^^^^^^^^^^^^^
TypeError: unhashable type: 'dict'

Python引发TypeError的消息为不可哈希类型’list’或’dict’。哈希生成一个唯一的数字,用于不可变项在计算机内存中的快速搜索。Python内置了hash()函数。但该函数不被列表或字典支持。

尽管可变对象不存储在集合中,但集合本身是可变对象。Python有一些特殊的运算符来操作集合,并且集合类中有不同的方法来执行对集合对象的元素进行添加、删除、更新操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程