Python 入门(八)

2018-09-09  本文已影响8人  一路向前_莫问前程_前程似锦

集合 set函数

集合里面不允许出现相同的数字或者字符,集合里面的元素都是独一无二的 ,集合也是出现花括号,但是没有冒号{},是和字典的区别

集合的基本特征

1 元素的互斥性
2 元素的无序性
3 元素的确定性
集合的元素不可重复,也就是说:
{1,2,3,3} 是不存在的 ,应该写为 {1,2,3}

集合里的元素需要是不可变类型,和字典中的键一样

所以集合可以理解为,只有键没有值的字典

集合的创建

1.直接使用大括号{}创建

集合元素是不可变类型

所以可以使用数值,字符串,元组

而不能使用列表,字典当做元素值

set1={1,2,3,[23]}

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-13-0f95bb11aa02> in <module>()
----> 1 set1={1,2,3,[23]}

TypeError: unhashable type: 'list'



set1={1,2,3,(23)}

set2={1,2,3,{1:2,2:3}}

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-15-bd5a449ceea5> in <module>()
----> 1 set2={1,2,3,{1:2,2:3}}

TypeError: unhashable type: 'dict'



set2={1,2,3,"python"}
如果你创建时在集合中写了重复的值,不会报错,但根据互异性,只会保存一个:
set3={1,2,3,4,5,2,3,3}

set3



{1, 2, 3, 4, 5}
创建空集合要使用set()
而不能使用{}
因为后者指的是创建空字典
dict1={}

type(dict1)

dict

set4=set()

type(set4)

set
2.使用列表或者元组创建
在set()里放入list或者tuple可以创建集合,该集合的元素就是列表或元组的元素
set5=set([1,2,3,45,5,5,5])

set5

{1, 2, 3, 5, 45}
3.使用字符串创建
得到的集合的元素是字符串的每个字符
set6=set("python")

set6

{'h', 'n', 'o', 'p', 't', 'y'}
集合的方法
就像列表、字典、元组一样,集合的操作也有很多方法
1.set.add( x )
向集合中添加元素x
list为append函数
set6.add(1)

set6

{1, 'h', 'n', 'o', 'p', 't', 'y'}
2.set.update(a_set)
使用集合a_set更新原集合,就是把括号里的集合的元素给set
list中为list.extend函数
set7={1,"2"}

set7.update(set6)

set7

{1, '2', 'h', 'n', 'o', 'p', 't', 'y'}
3.set.pop( )
删除并且返回集合中的任意元素
set7.pop()
1

set7

{'2', 'h', 'n', 'o', 'p', 't', 'y'}
4.set.remove(x)
删除集合中的元素x,如果x不存在就报错
set7.remove('2')

set7

{'h', 'n', 'o', 'p', 't', 'y'}
5.set.clear( )
清空集合中的所有元素
set7.clear()

set7

set()
集合转化
b="asalckasl;c,sl.,"

a='acjkaklsvsasacd'

sa=set(a) ##字符串转化为集合

sb=set(b) ##字符串转化为集合
&符号表示取交集
|符号表示并集
 sa & sb  #交集

{'a', 'c', 'k', 'l', 's'}

sa|sb    #并集

{',', '.', ';', 'a', 'c', 'd', 'j', 'k', 'l', 's', 'v'}
% 求余数
// 求商

/ 直接除

上一篇下一篇

猜你喜欢

热点阅读