欢迎来到LYBLaoInB的博客
LYBLaoInB
LYBLaoInB
回首往事,不因虚度年华而悔恨,不因碌碌无为而愧疚

Python第四篇--集合

特性

  定义:data={"b","c","a",1,23,4,("ab","ef")}

     data=set([])这样可以创建一个空的集合,不能用{}这样得到的是一个dict字典

  1.集合元素是不可变的,也就是说集合里面只可以放数字,字符串,元组

  2.天生去重

  3.无序

作用

  1.去重复

   把列表转成集合就可以了jihe=set(li)

  2.关系运算

   比如要找到两个列表中的交集

    交集:共有的&

      data1.intersection(data2) 

    差集:data1独有的-

      data1.difference(data2)

    并集:合并|

      data1.union(data2)

    对称集:除了共有的之外的所有^

      data1.symetric_difference(data2)

常用操作

  增加:

    jihe.add()

  修改:不可修改

  删除:

    jihe.discard(value)删除某个值,不存在也不报错

    jihe.pop()随机删除

    jihe.remove(value)删除,不存在就报错了

  查:

    value in jihe

循环和其他一样,for i in jihe:...

 集合的关系判断

  data1.isdisjoint(data2)    data1是不是  不是和data2有交集   没有交集,返回True

  data1.issubset(data2)     data1是不是data2的子集

  data1.issupperset(data2)  data1是不是data2的父集

如果想要列表去重排序,就要先吧列表转为集合去重复,在将集合转为列表排序。因为集合特性是无序不重复,所以集合没有排序方法

names=["Alex","品如","艾利","宝莲","Alex"]
print(names)
#转为集合去重复
lists=set(names)
#再转为列表排序
names2=list(lists)
names2.sort(reverse=False)#默认就是False
print(names2)

 Python中,list() set() tuple() 这三个类内置方法分别是将一个对象转为列表,集合,元组的

posted @ 2020-08-06 22:11  LiuYongbo  阅读(190)  评论(0)    收藏  举报
<--将网易云歌单中的id复制到上面的data-id中就可以了 http://music.163.com/playlist?id=3103841025&userid=1698529278 -->