1.1.3集合(包含元组)

集合  set {  }

元组 tuple  

列表 list[  ]

 

元组:(tuple   区分与list

特点:

1 有序的集合

2 通过偏移来取数据可以切分

3 属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。只能通过转换(如list)来进行修改数据。

 

那为什么有列表还要有元组呢

元组不可变的好处。保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,

 确保方法或者接口不会改变我们的数据从而导致程序问题

 

def info(a):

   '''一个我们不熟悉的方法'''

a[0] = 'haha'

a = [1,2,3]

info(a)

print a

 

 

集合(包含元组):集合是没有顺序的概念。所以不能用切片和索引操作区别list tuple

 

1 创建集合。set():可变的 a=set('abc')   {'a', 'b', 'c'}

不可变的frozenset()

2 添加操作: add, a.add('python')   a= {'a', 'b', 'c', 'python'}
  add()后面不可以跟一个集合  a.add(b)是不正确的
Update   a.update('python')  a= {'a', 'b', 'c', 'h', 'n', 'o', 'p', 't', 'y'}   相同字母只添加一遍
   Update()后面可以跟一个集合 a.update(b)是正确的 这里设b={‘d’,’s’,’d’} 

3 删除 remove  a.remove(‘python’)  且删除的只能是已经有的元素且只能删除一个(有且只能有一个,因为集合是一个不可重复的集合)

4 成员关系 in,not in

6 交集&,并集|,差集-   且差集为a-b 指的是在集合a中出现但是在集合b中没有出现的元素这里以a为标准

7 set去重  列表内容元素重复

如果列表 为[1, 2, 3, 1, 3] 我们想把重复的数字去除 可以先把列表转换为集合 然后在转换成列表即可
B=set[a] list(B)

 

 

 

#encoding=utf-8

##可变集合(可以添加修改删除等操作)

info = set('abc')

info.add('python')##添加单个对象到集合里

print info

info.update('python')##把对象里的每个元素添加到集合里

print info

info.remove('python')

print info

 

 

##不可变集合(只能判断相等或者innot in

t = frozenset('haha')##不能进行添加,修改和删除的操作。

##成员操作 in,not in

print 'a' in info

print 'h' in t

print 'jay' not in info

##判断2个集合是否相等,之和元素本身有关,和顺序无关。

print set('abc') == set('cba')

 

 

##并集(|,交集(&),差集(-

print set('abc') | set('cbdef')##并集

print set('abc') & set('cbdef')##交集

print set('abc') - set('cbdef')##差集

liststr = ['haha','gag','hehe','haha']

 

 

#for循环

m = []

for i in liststr:

   if i not in m:

       m.append(i)

print m

m = set(liststr)

print list(m)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值