首页 > 编程语言 >XX学Python·集合

XX学Python·集合

时间:2022-10-04 23:00:39浏览次数:60  
标签:False Python 12.3 print XX set1 set2 集合

集合

  • 集合是一个无序,不重复的数据序列。

  • 无序:程序员无法控制其排布顺序,无法使用索引查找或修改数据

  • 不重复:没法在集合里放入相同的值,会自动去重,类似于字典的键

  • 定义:变量={数据1,数据2,...},空集合set()

# 无序
set1 = {1,2,5,6,4,3}
#在集合中会使用数据的值计算哈希值,根据哈希值排序。但程序员无法利用其顺序。
print(set1)  # {1, 2, 3, 4, 5, 6}

# 不重复
set2 = set('123412')
print(set2)  # {'4', '2', '1', '3'}自动去重

# 定义空集合,不能用{},{}是空字典
set3 = set()
print(set3)  # set()

# 布尔值在进行计算时 True==1,Fasle==0
set4 = {1,12.3,True,False,'','中国'}
print(set4)  # {False, 1, '', '中国', 12.3}
# 元组类型可以放入集合里储存
set5 = {1,12.3,True,False,'',(1,2)}
print(set5)  # {False, 1, (1, 2), '', 12.3}

# 列表、字典、集合本身都无法用集合储存
# set6 = {1,12.3,True,False,'',[1,2]}  # TypeError: unhashable type: 'list'
# set7 = {1,12.3,False,'',{1:2}}  # TypeError: unhashable type: 'dict'
# set8 = {1,12.3,False,'',{1,2}}  # TypeError: unhashable type: 'set'
# 不能作为集合元素的数据类型,同样不能作为字典的键出现
dict1 = {(1,2):3}
print(dict1)  # {(1, 2): 3}元组可以作为字典的键
# dict2 = {[1,2]:3}  # TypeError: unhashable type: 'list'

集合的增加

set1 = {1,2,4,3}
# add()方法 :增加单一元素
set1.add(5)
print(set1)  # {1, 2, 3, 4, 5}

# update内部只能填写容器类型(数据序列)
# set1.update(6)  # TypeError: 'int' object is not iterable
set1.update([3,6,7],'ai你')  # 已存在会自动去重
print(set1)  # {1, 2, 3, 4, 5, 6, 7, 'i', '你', 'a'}

集合的删除

set1 = {3,2,'rose','jack'}
# remove 删除指定的元素,元素不存在会报错
set1.remove(3)
print(set1)  # {'rose', 2, 'jack'}

# pop 随机删除一个元素 ,并将删除的元素返回
print(set1.pop())
print(set1)
set1.pop()
print(set1)

# discard 删除指定的元素,元素不存在不报错
set2 = {3,2,'rose','jack'}
set2.discard(3)
print(set2)
set2.discard(8)
print(set2)

集合的遍历

set1 = {3,2,'rose','jack'}
for i in set1:
    print(i)
'''结果顺序不定
jack
2
3
rose
'''

标签:False,Python,12.3,print,XX,set1,set2,集合
From: https://www.cnblogs.com/portb/p/16754753.html

相关文章