关于集合运算函数的问题

来源:3-9 编程练习

Kaito_

2019-07-24 19:12:46

a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 7, 9]
int_list = list(set(a_list).intersection(b_list))
print(int_list)
# 求两个列表之间的并集
uni_list = list(set(a_list).union(b_list))
print(uni_list)
# 求两个列表之间的差集(a_list在b_list中不存在的部分)
dif_list = list(set(a_list).difference(b_list))
print(dif_list)

a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 7, 9]
int_list = list(set(a_list).intersection(set(b_list)))
print(int_list)
# 求两个列表之间的并集
uni_list = list(set(a_list).union(set(b_list)))
print(uni_list)
# 求两个列表之间的差集(a_list在b_list中不存在的部分)
dif_list = list(set(a_list).difference(set(b_list)))
print(dif_list)

二者输出结果一样,请问下集合运算函数.intersection .union .difference后面括号内的数据类型自动转换吗?还是因为前面共有set(a_list)所以后面的b_list也被转换了,需要不需要在后面写set(b_list)?二者有区别吗?区别在哪?

写回答

1回答

好帮手乔木

2019-07-25

同学,你好:

看图下封装的三个函数,函数说明返回的是一个set(集合),说得是两个集合生成一个新的集合,

所以这些函数内部直接就将list转换为set(集合)再进行计算。

http://img.mukewang.com/climg/5d3901a200013e4406590214.jpg

http://img.mukewang.com/climg/5d3901b80001da5706670206.jpg

http://img.mukewang.com/climg/5d3901e1000124a107300217.jpg

如果我解决了同学的问题,请采纳!学习愉快^_^。

1

0 学习 · 8160 问题

查看课程