美文网首页python学习
Python集合学习笔记

Python集合学习笔记

作者: 松柏林stata | 来源:发表于2018-07-03 12:02 被阅读0次

定义:

由不同的元素组成的集合,集合中是一组无序排列的可hash值,可作为字典的key,而且集合中的值不可重复。

特性:

集合的目的就是将不同的值存放在一起,不同的集合间来做关系运算,无序纠结集合中单个值

集合包括可变集合和不可变集合

hash是什么?

打个比方,比如说有一个文件(不管多大),对这个文件要进行一个hash校验,会得到一个校验值(固定长度)。

hash是一种统称,具体要进行校验的话,是需要调用它下面的算法。(校验就是通过一个算法算出这个文件的一个值)。

特点:

1.只要用的算法是一定,那么得到的值的长度永远是一定的

2.原值(被校验的值)只要改一点,那么在此校验的值将会改变

3.不可逆。不可能通过一串hash值来推导出这个文件内容

算法:MD5 SH512等等

用途:最多的用途就是进文件校验(看文件是否被篡改)。再一个就是tcp/ip协议。只能对不可变的值进行hash校验。如果集合中有可变类型那么回保错。

s={1,'a',[1,2,3],'a'}
print(s)

Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/untitled/day9/集合.py", line 4, in <module>
    s={1,'a',[1,2,3],'a'}
TypeError: unhashable type: 'list'

e,g

说列表是不可hash类型

在python中,看到不可hash类型就是可变类型,反之,可hash类型就是不可变类型

去重

s={1,'a','a'}
print(s)

{'a', 1}

无序

s={1,'a',(1,2,3),}
print(s)

{'a', 1, (1, 2, 3)}


s=set('hello')
print(s)

s=set(['alex','alex','sb'])
print(s)

s={1,2,3,4,5,6}

添加

s.add('s')
 s.add('3')
s.add(3)
print(s)

清除

s.clear()
 print(s)

复制

s1=s.copy()

随机删

s={'sb',1,2,3,4,5,6}
s.pop()

指定删除

s.remove('sb')
s.remove('hellol') #删除元素不存在会报错
s.discard('sbbbb') #删除元素不存在不会报错
print(s)

求交集

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
 p_s=set(python_l)
 l_s=set(linux_l)
print(p_s,l_s)
print(p_s.intersection(l_s))
print(p_s&l_s)

求并集

print(p_s.union(l_s))
print(p_s|l_s)

差集

print('差集',p_s-l_s)
print(p_s.difference(l_s))
print('差集',l_s-p_s)
print(l_s.difference(p_s))

交叉补集

print('交叉补集',p_s.symmetric_difference(l_s))
print('交叉补集',p_s^l_s)

python_l=['lcg','szw','zjw','lcg']
linux_l=['lcg','szw','sb']
p_s=set(python_l)
l_s=set(linux_l)
print(p_s,l_s)
print('差集',p_s-l_s)

相关文章

  • Python集合学习笔记

    定义: 由不同的元素组成的集合,集合中是一组无序排列的可hash值,可作为字典的key,而且集合中的值不可重复。 ...

  • Python学习笔记——集合

    1. 定义 集合的数据是唯一的 集合的数据是无序的 2. set() 去除列表[0,1,2,3,4,5,5,3,1...

  • Python 学习笔记 - 集合

    Python 集合 集合(set)是无序的、不重复的元素序列。 创建集合 使用花括号 { } 或者 set() 函...

  • Python ☞ day 4

    Python学习笔记之 (set)集合 & 迭代器 & 函数 & 匿名函数 & 高阶函数 set set:类似di...

  • Python学习-集合(set)

    查看所有Python相关学习笔记 集合(set) 集合是随机的,其元素是不重复的 自动去重 对列表去重 先将列表转...

  • Python学习笔记之集合

    在数学上,我们把由不同的元素组成的容器叫做集合。Python引入了这一概念,集合对象是一组无序排列的可哈希的值。在...

  • Python学习笔记(三)集合

    list & tuple list列表——有序集合 len(listname) 获取list元素个数 IndexE...

  • python学习笔记04

    python学习笔记之04. 迭代器和生成器 迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式...

  • python学习笔记目录

    Python学习笔记目录(倒序) Python学习-异常 Python学习-面向对象 Python学习-文件系统 ...

  • 大师兄的Python学习笔记(十九): Python与(XML和

    大师兄的Python学习笔记(十八): Python与HTTP大师兄的Python学习笔记(二十): 爬虫(一) ...

网友评论

    本文标题:Python集合学习笔记

    本文链接:https://www.haomeiwen.com/subject/ebpduftx.html