【作用】
set( )函数用于将可迭代对象转换为一个无序的不重复元素的可变集合。
【返回值】
返回的集合是可以修改的,我们可以对集合元素进行添加或删除等,也可以对集合进行交集、并集、差集等操作。
set( )函数由3部分组成:
函数名:set
英文圆括号:( )
set函数的参数:要转换成集合的可迭代对象
空列表、空元组、空字典的创建都有两种方法:符号法和函数法。
字典和集合都用英文大括号{ }
表示。
英文大括号{ }
只能创建空字典,不能创建空集合。
空集合只能用set( )函数
创建。
【方法1:符号法】
用英文中括号[ ]
创建空列表。
用英文圆括号( )
创建空元组。
用英文大括号{ }
创建空字典。
# 新建空列表
list_0 = [ ]
# 新建空元组
tuple_0 = ( )
# 新建空字典
dict_0 = { }
# type函数查看数据类型
print(type(list_0))
print(type(tuple_0))
print(type(dict_0))
【终端输出】
【方法2:函数法】
用list函数创建空列表。
用tuple函数创建空元组。
用dict函数创建空字典。
用set函数创建空集合。
# list函数不传入参数,创建一个空列表
list_1 = list ( )
# tuple函数不传入参数,创建一个空元组
tuple_1 = tuple ( )
# dict函数不传入参数,创建一个空字典
dict_1= dict ( )
# set函数不传入参数,创建一个空集合
set_1= set ( )
# type函数查看数据类型
print(type(list_1))
print(type(tuple_1))
print(type(dict_1))
print(type(set_1))
【终端输出】
set_1 = set ('happy')
print('将字符串转换为集合:',set_1)
# type函数查看数据类型
print(type(set_1))
【终端输出】
将字符串转换为集合: {'h', 'p', 'a', 'y'}
上述代码用set()函数
将字符串'happy'
转换为集合。
集合的元素是不能重复的,因此p字符只保留1个。
转换后的集合含有4个元素。
set_2 = set (1000)
print('将整数转换为集合:',set_2)
【终端输出】
TypeError: 'int' object is not iterable
set函数的参数为整数,程序报错。
‘int’ object is not iterable:“int”对象不可迭代。
set_3 = set (0.79)
print('将整数转换为集合:',set_3)
【终端输出】
TypeError: 'float' object is not iterable
set函数的参数为浮点数,程序报错。
‘float’ object is not iterable:“float”对象不可迭代。
set_4= set (True)
print('将整数转换为集合:',set_4)
【终端输出】
TypeError: 'bool' object is not iterable
set函数的参数为布尔值,程序报错。
‘bool’ object is not iterable:“bool”对象不可迭代。
set_5 = set (['张三','李四','王五'])
print(' 将列表转换为集合:',set_5)
# type函数查看数据类型
print(type(set_5))
【终端输出】
将列表转换为集合: {'李四', '张三', '王五'}
集合是无序的,转换后集合的顺序可能会有所变化。
set_6 = set (('张三','李四','王五'))
print(' 将元组转换为集合:',set_6)
# type函数查看数据类型
print(type(set_6))
【终端输出】
将元组转换为集合: {'李四', '张三', '王五'}
# 字典也用{}表示
dict_1 = {
'name':'andy',
'age':'20',
'sex':'female'
}
set_7 =set(dict_1)
print('将字典转换为集合',set_7)
# type函数查看数据类型
print(type(set_7))
【终端输出】
将字典转换为集合 {'sex', 'name', 'age'}
【温馨提示】
set()函数
仅作用于字典的键(key)
,输出的集合只包含字典的键(key)
。
字典的键:‘name’, ‘age’, ‘sex’
字典的值:‘andy’, ‘20’, ‘female’
set_8 = set ({'张三','李四','王五'})
print(' 将集合转换为集合:',set_8)
# type函数查看数据类型
print(type(set_8))
【终端输出】
将集合转换为集合: {'李四', '张三', '王五'}
set_9 = set (range(9))
print(' 将range对象转换为集合:',set_9)
# type函数查看数据类型
print(type(set_9))
【终端输出】
将range对象转换为集合: {0, 1, 2, 3, 4, 5, 6, 7, 8}
set_1 = set ('人数苦短','我学Python')
print('多个字符串不能转换为集合:',set_1)
【终端输出】
TypeError: set expected at most 1 argument, got 2
上述set函数里有2个参数。
参数1是字符串’人数苦短’。
参数2是’我学Python’。
set函数只能有1个参数,有多个参数时,程序会报错。
set expected at most 1 argument, got 2:集合预期最多1个参数,但得到2个。