首页 / PYTHON / python 基础---集合
python 基础---集合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 基础---集合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2037字,纯文字阅读大概需要3分钟。
内容图文
集合(set):可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。{}
1 set1 = set({1,2,3})
2print(set1)
3 4#增 add,update 5 set1 = {‘alex‘,‘wusir‘,‘ritian‘,‘egon‘,‘barry‘}
6 set1.add(‘女神‘)
7print(set1) #无序 8#{‘女神‘, ‘egon‘, ‘barry‘, ‘wusir‘, ‘alex‘, ‘ritian‘} 910 set1.update(‘男神‘) #迭代增加,相当于list中的extend,按对象一个一个加11print(set1)
12#{‘男‘, ‘女神‘, ‘egon‘, ‘barry‘, ‘wusir‘, ‘alex‘, ‘神‘, ‘ritian‘}1314#删 pop,remove,del, clear15 set1.pop() #随机删除,有返回值16print(set1)
1718 set1.remove(‘元素‘) #按元素删除19print(set1)
2021 set1.clear() #清空集合22print(set1)
2324del set1 #删除集合25print(set1)
2627# 查28for i in set1:
29print(i)
交集 &
并集 |
差集 -
反交集 ^
子集和超集
1 set1 = {1,2,3} 2 set2 = {1,2,3,4,5,6} 34print(set1 < set2) 5print(set1.issubset(set2)) # 这两个相同,都是说明set1是set2子集。67print(set2 > set1) 8print(set2.issuperset(set1)) # 这两个相同,都是说明set2是set1超集。
集合可变,元素不可变,使用frozenset变成集合不可变
1 s = frozenset(‘barry‘)
2print(s,type(s))
3for i in s:
4print(i)
深浅copy
1
#赋值运算
2 l1 = [1,2,3]
3 l2 = l1
4 l1.append(‘a‘)
5print("{}\t\t{}".format(l1,l2))
6#[1, 2, 3, ‘a‘] [1, 2, 3, ‘a‘]
1
#浅copy
2 l1 = [1,2,3]
3 l2 = l1.copy()
4print(l1,l2)
5print(id(l1),id(l2))
6 l2.append(‘a‘)
7print(l1,l2)
8""" 9[1, 2, 3] [1, 2, 3]
101848031189768 1848031187272
11[1, 2, 3] [1, 2, 3, ‘a‘]
12"""
1 l1 = [1,2,[4,5,6],3]
2 l2 = l1.copy()
3print(l1,id(l1))
4print(l2,id(l2))
5 l1.append(‘a‘)
6print(l1,l2)
7 l1[2].append(‘a‘)
8print(l1,l2)
9print(id(l1[2]))
10print(id(l2[2]))
11"""12[1, 2, [4, 5, 6], 3] 2318104334664
13[1, 2, [4, 5, 6], 3] 2318103951432
14[1, 2, [4, 5, 6], 3, ‘a‘] [1, 2, [4, 5, 6], 3]
15[1, 2, [4, 5, 6, ‘a‘], 3, ‘a‘] [1, 2, [4, 5, 6, ‘a‘], 3]
162318104337160
172318104337160
1819"""
对于浅copy来说,第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性。
深Copy
1
import
copy
2 l1 = [1,2,[4,5,6],3]
3 l2 = copy.deepcopy(l1)
4print(l1,id(l1))
5print(l2,id(l2))
6 l1[2].append(‘a‘)
7print(l1,l2)
8 9 l1 = [1,[1],2,3,4]
10 l2 = l1[:]
11 l1[1].append(‘a‘)
1213print(l1,id(l1))
14print(l2,id(l2))
对于深copy来说,两个是完全独立的,改变任意一个的任何元素(无论多少层),另一个绝对不改变。
原文:https://www.cnblogs.com/dzc18/p/9315123.html
内容总结
以上是互联网集市为您收集整理的python 基础---集合全部内容,希望文章能够帮你解决python 基础---集合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。