惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
D
Docker
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
IT之家
IT之家
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
B
Blog
D
DataBreaches.Net

老董笔记

尚硅谷机构在哪?尚硅谷培训怎么样?靠谱吗-互联网IT百科 韩顺平介绍,传智讲师,开办泰牛,入尚硅谷等一系列-互联网IT百科 pandas多重索引标准样式(写入excel有空行)-互联网IT百科 cannot join with no overlapping index names-互联网IT百科 pandas多列变多行(即宽表变长表)melt和stack函数-互联网IT百科 pandas多行转多列(长表变宽表)pivot和unstack-互联网IT百科 Index contains duplicate entries, cannot reshape完美解决-互联网IT百科 single positional indexer is out-of-bounds-互联网IT百科 Can only compare identically-labeled Series objects-互联网IT百科 pandas transform用法详解(多个案例)-互联网IT百科 python四舍五入精确实现-互联网IT百科 pandas的groupby使用apply分组排序-互联网IT百科 index 0 is out of bounds for axis 0 with size 0-互联网IT百科 pandas分组过滤filter函数-互联网IT百科 联想Win10系统如何禁用触摸屏关闭触摸-互联网IT百科 groupby分组计算transform转换返回相同长度序列-互联网IT百科 brooks seo教程python教程,brooks seo教程网盘,布鲁seo资源-互联网IT百科 电脑右键文件夹一直转圈电卡死怎么回事-互联网IT百科 施琪嘉的心理成长课(荐)-互联网IT百科 百度SEO公司_SEO推广公司哪家好_SEO外包服务如何选-老董笔记 groupby后agg同1列用多个聚合函数、不同列用不同函数、自定义函数-互联网IT百科 pandas的groupby单列多列分组聚合运算-互联网IT百科 DataFrameGroupBy对象及分组个数、分组大小、组名索引、组数据详解-互联网IT百科 pandas中groupby之Grouper and axis must be same length-互联网IT百科 pandas中groupby的分组原理-互联网IT百科 pandas的groupby的使用详解大全-互联网IT百科 openpyxl单元格自动换行强制换行Alignment(wrapText=True)-互联网IT百科 python教程全套(可就业)-互联网IT百科 联想win10系统CPU显示100%,电脑呼呼响怎么回事-互联网IT百科 如何自制CPU,CPU原理是怎么样的?-互联网IT百科
集合定义,元素的访问及增删,成员操作符及内置方法-互联网IT百科
2020-08-29 · via 老董笔记

  集合中的元素是无序的,不重复、可哈希的(即集合中的元素都是不可变类型,因此像列表和字典等可变类型对象是不能作为集合的元素的),所以集合的成员可以做字典中的键。【集合常用作列表元素的去重】

  集合有两种不同的类型:

  1.可变集合(set):

  可变集合可以进行增加和删除元素,可变集合是不可哈希的,因此不能作为字典的键,

  2.不可变集合(frozenset):

  不能增加删除元素,可以作为字典的键。

  PS:可变集合是集合本身增加删除元素,但是增加的元素也是不可变类型。集合是可变的,集合内的元素是不可变类型并不矛盾!

  一、集合的创建以及赋值

  集合的创建只能通过set方法和frozenset方法创建。

  二、访问集合中的值

  集合不是序列类型,也就是跟字典一样都是无序的,因此不能通过下标的方式进行访问里面的元素。可以通过成员操作符in和noti n来判断某个元素是否在集合里面,或者通过for循环把集合中的元素遍历出来。

# ‐*‐ coding: utf‐8 ‐*‐

s1 = set() # 创建空的可变集合
s2 = frozenset() # 创建一个空的不可变集合

print(s1,s2)

# 使用set和frozenset方法创建集合,里面的参数必需是可迭代类型且其成员必需是可哈希的
s3 = set('helloworld') # 创建可变集合
s4 = frozenset('helloworld') # 创建不可变集合

# 判断元素是否在集合中
print('h'in s3)

# 遍历取出元素
for i in s3:
    print(i)


D:installpython3python.exe D:/pyscript/test/test1.py
set() frozenset()
True
w
r
o
l
h
d
e

Process finished with exit code 0

  三、对可变集合进行增删操作

  1.用集合内置方法增删元素(通过dir(set)来获取内置方法)

# ‐*‐ coding: utf‐8 ‐*‐

for fun in dir(set):
    # 过滤掉双下划线方法,双下划线一般是python源码程序员用的,我们暂时不看
    if not fun.startswith('_'):
        print('内建方法:',fun)
"""
简单举例,其余方法大家尝试
"""
s1 = set('hello')
s1.add('哈哈')  # 添加元素
print(s1)
s1.remove('h')  # 移除元素
print(s1)
s1.update('world')  # 添加多个元素
print(s1)
s1.clear()  # 清空元素
print(s1)

D:installpython3python.exe D:/pyscript/test/test1.py
内建方法: add
内建方法: clear
内建方法: copy
内建方法: difference
内建方法: difference_update
内建方法: discard
内建方法: intersection
内建方法: intersection_update
内建方法: isdisjoint
内建方法: issubset
内建方法: issuperset
内建方法: pop
内建方法: remove
内建方法: symmetric_difference
内建方法: symmetric_difference_update
内建方法: union
内建方法: update
{'e', 'l', '哈哈', 'h', 'o'}
{'e', 'l', '哈哈', 'o'}
{'e', 'w', 'l', '哈哈', 'r', 'd', 'o'}
set()

Process finished with exit code 0


集合的方法
方法 适用范围
update() 不可变集合
intersection_update() 不可变集合
diffence_update() 不可变集合
symmetric_diffence_update() 不可变集合
add() 不可变集合
remove() 不可变集合
discard() 不可变集合
pop() 不可变集合
clear() 不可变集合
issubset() 所有集合
issuperset() 所有集合
union() 所有集合
intersection() 所有集合
difference() 所有集合
symmetric_diffence() 所有集合
copy() 所有集合

  2.用操作符增删元素

操作符列表
python符号 说明
in 是……的成员
no tin 不是……的成员
== 等于
!= 不等于
< 是……的真子集
<= 是……的子集
> 是……的真超集
>= 是……的超集
& 交集
| 合集(并集)
- (减号)
^ 对称差分

  PS:操作符与内置方法的比较

  用操作符时,操作符两边的操作数必须是集合,而内建方法接受的参数可以是迭代类型的。

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会