不是说set中必须存放不可变对象吗? 那么在定义set时,为什么用的是s = set([1,2,3,4]),其中[1,2,3,4]是list呀? 我的理解是s = set([a,b,c,d]),其中a,b,c,d不能为可变对象对吗? 还有当只有一个元素时可以用s=set(a)直接定义?
创建set要求传入list作为参数,不是说set里面存的是list
意思是把list中的元素都复制一遍到set中吗?
set()只是一个函数,函数的参数是一个list,函数的返回值是set类型的对象
这和tuple函数是一样的:
a = tuple([1, 2, 3])
传入参数是list,返回类型是tuple
继续往后看,可以发现,参数只要求是Iterable就可以
Sign in to make a reply
用户3627907223
不是说set中必须存放不可变对象吗? 那么在定义set时,为什么用的是s = set([1,2,3,4]),其中[1,2,3,4]是list呀? 我的理解是s = set([a,b,c,d]),其中a,b,c,d不能为可变对象对吗? 还有当只有一个元素时可以用s=set(a)直接定义?