'''
集合:
1.使用{}定义
2.有set(可变集合)和frozenset(不可变集合:不可增删改)两种集合
3.集合的无序和有序
3.1对于不是纯数字的元素,集合是无序混乱的
3.2对于纯数字的元素,集合是有序的
3.3对于纯数字且无序有重复的数据,转为集合后会去重
'''
set1={1,2,3,"str1","str2","str3","STR","@"}
tuple1=(1,2,3,4)
list1=['a','b','c',2]
list2=[8,2,2,2,11,23,12,54,4,112,63,44,11]
dict1={"name":"lisi","age":20,"sex":1}
#set和frozenset,其他元素转换集合
print(set(tuple1),type(set(tuple1))) #元组转换集合:{1, 2, 3, 4} <class 'set'>
print(set(list1),type(set(list1))) #列表转换集合:{'b', 2, 'a', 'c'} <class 'set'>
print(set(dict1),type(set(dict1))) #字典转换集合:{'age', 'name', 'sex'} <class 'set'>(只转换键)
print(frozenset(tuple1),type(frozenset(tuple1))) #不可变集合:frozenset({1, 2, 3, 4}) <class 'frozenset'>
print(set(list2),type(set(list2))) #列表转换集合(去重):{5345, 2, 4, 8, 524, 111, 23, 123, 444, 63} <class 'set'>
#增删改:
#增加:add
set1.add("123")
print(set1) #添加元素:{1, 2, 3, 'str3', '@', '123', 'str2', 'str1', 'STR'}
#删除:remove
set1.remove("123")
print(set1) #删除元素"123":{1, 2, 3, 'str2', 'str3', 'str1', 'STR', '@'}
#更新:update,相当于插入:可更新多个
set1.update(['cc','bb','aa'])
print(set1)
#随机删除:pop(因为集合是无序的,暂时是理解为随机。不准确)
list2=list(set1)
for item in list2:
print(set1.pop())
print(set1) #set()
#清空集合clear
set1={1,2,3,"str1","str2","str3","STR","@"}
print(set1) #{1, 2, 3, 'str2', '@', 'STR', 'str1', 'str3'}
set1.clear()
print(set1) #清空:set()
python 集合
最新推荐文章于 2024-08-08 15:03:50 发布