41. set()函数:将可迭代对象转换为可变集合

41. set()函数:将可迭代对象转换为可变集合

文章目录

  • 41. set()函数:将可迭代对象转换为可变集合
    • 1. set( )函数的作用
    • 2. set( )函数的语法
    • 3. set函数创建空集合
    • 4. set函数的参数只能是可迭代对象
      • 4.1 将字符串转换为集合
      • 4.2 set( )函数的参数不能为整数
      • 4.3 set( )函数的参数不能为浮点数
      • 4.4 set( )函数的参数不能为布尔类型
      • 4.5 将列表转换为集合
      • 4.6 将元组转换为集合
      • 4.7 将字典转换为集合
      • 4.8 将集合转换为集合
      • 4.9 将range对象转换为集合
    • 5. set()函数的参数只能有一个
    • 6. 总结

1. set( )函数的作用

【作用】

set( )函数用于将可迭代对象转换为一个无序的不重复元素的可变集合。

【返回值】

返回的集合是可以修改的,我们可以对集合元素进行添加或删除等,也可以对集合进行交集、并集、差集等操作。

2. set( )函数的语法

set( )函数由3部分组成:

  1. 函数名:set

  2. 英文圆括号:( )

  3. set函数的参数:要转换成集合的可迭代对象

41. set()函数:将可迭代对象转换为可变集合_第1张图片

3. set函数创建空集合

空列表、空元组、空字典的创建都有两种方法:符号法和函数法。

字典和集合都用英文大括号{ }表示。

英文大括号{ }只能创建空字典,不能创建空集合。

空集合只能用set( )函数创建。

【方法1:符号法】

  1. 用英文中括号[ ]创建空列表。

  2. 用英文圆括号( )创建空元组。

  3. 用英文大括号{ }创建空字典。

# 新建空列表
list_0 = [ ]

# 新建空元组
tuple_0 = ( )

# 新建空字典
dict_0 = { }

# type函数查看数据类型
print(type(list_0))
print(type(tuple_0))
print(type(dict_0))

【终端输出】




【方法2:函数法】

  1. 用list函数创建空列表。

  2. 用tuple函数创建空元组。

  3. 用dict函数创建空字典。

  4. 用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))

【终端输出】





4. set函数的参数只能是可迭代对象

4.1 将字符串转换为集合

set_1 = set ('happy')
print('将字符串转换为集合:',set_1)

# type函数查看数据类型
print(type(set_1))

【终端输出】

将字符串转换为集合: {'h', 'p', 'a', 'y'}

上述代码用set()函数将字符串'happy'转换为集合。

集合的元素是不能重复的,因此p字符只保留1个。

转换后的集合含有4个元素。

4.2 set( )函数的参数不能为整数

set_2 = set (1000)
print('将整数转换为集合:',set_2)

【终端输出】

TypeError: 'int' object is not iterable

set函数的参数为整数,程序报错。

‘int’ object is not iterable:“int”对象不可迭代。

4.3 set( )函数的参数不能为浮点数

set_3 = set (0.79)
print('将整数转换为集合:',set_3)

【终端输出】

TypeError: 'float' object is not iterable

set函数的参数为浮点数,程序报错。

‘float’ object is not iterable:“float”对象不可迭代。

4.4 set( )函数的参数不能为布尔类型

set_4= set (True)
print('将整数转换为集合:',set_4)

【终端输出】

TypeError: 'bool' object is not iterable

set函数的参数为布尔值,程序报错。

‘bool’ object is not iterable:“bool”对象不可迭代。

4.5 将列表转换为集合

set_5 = set (['张三','李四','王五'])         
print(' 将列表转换为集合:',set_5)    

# type函数查看数据类型
print(type(set_5))      

【终端输出】

 将列表转换为集合: {'李四', '张三', '王五'}

集合是无序的,转换后集合的顺序可能会有所变化。

4.6 将元组转换为集合

set_6 = set (('张三','李四','王五'))     
print(' 将元组转换为集合:',set_6)      

# type函数查看数据类型
print(type(set_6))

【终端输出】

 将元组转换为集合: {'李四', '张三', '王五'}

4.7 将字典转换为集合

# 字典也用{}表示
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’

4.8 将集合转换为集合

set_8 = set ({'张三','李四','王五'})    
print(' 将集合转换为集合:',set_8)      

# type函数查看数据类型
print(type(set_8))

【终端输出】

 将集合转换为集合: {'李四', '张三', '王五'}

4.9 将range对象转换为集合

set_9 = set (range(9))
print(' 将range对象转换为集合:',set_9)

# type函数查看数据类型
print(type(set_9))

【终端输出】

 将range对象转换为集合: {0, 1, 2, 3, 4, 5, 6, 7, 8}

5. set()函数的参数只能有一个

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个。

6. 总结

41. set()函数:将可迭代对象转换为可变集合_第2张图片

你可能感兴趣的:(Python基础知识,python,开发语言)