Python之集合

Python之集合

集合 set( )可变数据类型。

set集合内的元素,一定是不可变数据类型。元素只能是int、string、tuple。

例子:如何想要知道两个列表里是否有相同的,肿么办哩!

Linux = ['sb','you','rain']
python = ['sb','you','mack','rachel']

linux_python = []

for i in python:
    if i in Linux:
        linux_python.append(i)
print(linux_python)

 

  集合的作用:关系测试,

        交集:两个都有。

        差集:在列表a里有,b里没有。

        并集:把两个列表的元素合并在一起。并去重

  集合的特性:

        和字典的大括号一样。{ },但是,他没有value。

        天然去重。

        集合无序。

 

交集:

Linux = {'sb','you','rain','sb'}
python = {'sb','you','mack','rachel'}

# 交集
print(Linux.intersection(python))
print(Linux&python)

差集:

Linux = {'sb','you','rain','sb'}
python = {'sb','you','mack','rachel'}

#差集
print(Linux.difference(python))
print(python.difference(Linux))
print(Linux-python)
print(python-Linux)

并集:

Linux = {'sb','you','rain','sb'}
python = {'sb','you','mack','rachel'}

#并集
print(Linux.union(python))
print(Linux|python)

反向差集,对称差集:

  互相都不在的,打印

Linux = {'sb','you','rain','sb'}
python = {'sb','you','mack','rachel'}

#反向差集,对称差集
print(Linux^python)

 

集合的增删改查:

增:

Linux.add("aaaa")   #增加
print(Linux)

Linux1 = Linux.copy()     #复制,和列表字典的复制一样
print(Linux)
print(Linux1)

 

删:

Linux.clear()   #清空Linux集合
print(Linux)

Linux.discard('sb')   # 删除  但是,元素不存在,不会报错
print(Linux)

Linux.pop()   #随机删除
print(Linux)


Linux.remove('ggg')  # 删除  但是,元素不存在,会报错
print(Linux)

 

改:

#改:
Linux.update(python) #把Python合并到Linux中。彻底修改Linux集合。
print(Linux)

Linux_diff = Linux.difference(python)   #求差集并赋值改Linux集合
print(Linux_diff)

 

查:

# 查:
a = Linux.issubset(python)   #子集,判断Linux,是不是Python的子集
print(a)

b=Linux.isdisjoint(python)   #两个集合没有关系,返回真。
print(b)

 

posted @ 2018-05-02 09:54  王先生是胖子  阅读(150)  评论(0编辑  收藏  举报