Python set函数:创建集合

本文介绍了 Python 中 set() 函数的基本用法,包括如何创建空集合及将各种类型的可迭代对象转换为集合。通过实例演示了字符串、列表、元组、字典等数据结构转换成集合的过程,并强调了集合的特性,如无序性和不可重复性。

目录

描述

语法

参数说明

举例

1. 无参:

2. 将字符串转化为集合:

3. 将列表转化为集合:

4. 将元组转化为集合:

5. 将字典转化为集合:

6. 多个重复元素的可迭代对象

注意事项:


描述

        set函数是Python的内置函数,用于创建一个空集合,或者将一个可迭代对象转化为一个无序集合。

语法

set(iterable)

参数说明

名称含义备注
iterable待转化为无序集合的可迭代对象,包括列表、字符串和字典等可省略的参数。当该参数省略时,将创建一个不包含任何元素的空集合

举例

1. 无参:

创建一个空集合赋给一个变量,输出变量的类型和值:

a = set()

print(type(a))
print(a)

 输出结果为:

<class 'set'>
set()

此时变量a是集合类型,没有任何元素。

2. 将字符串转化为集合:

a = 'I love Python3!'

b = set(a)

print(b)

输出结果为:

{'v', 't', '!', 'e', 'h', '3', 'l', 'y', 'n', ' ', 'o', 'P', 'I'}

3. 将列表转化为集合:

a = []
b = [23, 45, 6, 7, 21, 22, 530, 'wdf']

print(set(a))
print(set(b))

输出结果为:

set()
{6, 7, 45, 530, 21, 22, 23, 'wdf'}

4. 将元组转化为集合:

a = ()
b = (23, 45, 6, 7, 23, 22, 530, 'wdf')

print(set(a))
print(set(b))

输出结果为:

set()
{6, 7, 'wdf', 45, 530, 22, 23}

5. 将字典转化为集合:

a = {}
b = {'China':'Beijing', 'Japan':'Tokyo', 'Mongolia':'Ulan Bator'}

print(set(a))
print(set(b))

输出结果为:

set()
{'Japan', 'Mongolia', 'China'}

可以看出将字典转化为集合时,只是收录了字典中的key。

6. 多个重复元素的可迭代对象

a = 'wwwwwwwwww'
b = [1,1,1,1,1,1]
c = ('sdf', 'sdf', 'sdf')
d = {1:12, 2:23, 1:345}

print(set(a))
print(set(b))
print(set(c))
print(set(d))

输出结果:

{'w'}
{1}
{'sdf'}
{1, 2}

注意事项:

1. 当使用set的有参函数时,参数必须是可迭代对象。当参数不是可迭代对象时,Python会抛出异常。例如:

a = 1.23

print(set(a))

结果:

Traceback (most recent call last):
  File "Test.py", line 3, in <module>
    print(set(a))
TypeError: 'float' object is not iterable

异常会提示float类型不是可迭代的。

2. 转化为集合后,序列是随机的,可能跟转化前的序列不同。

3. 由于集合不包含重复元素,使用set()函数后会将之前的可迭代序列中的重复元素删除。

4. 将字典转化为集合,仅仅只是将键(key)收录到集合中。如果想将字典中的值转化为集合,可以用字典函数values()

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值