1. 程式人生 > >python基礎資料型別:set() (集合)___006

python基礎資料型別:set() (集合)___006

1、集合:可變資料型別,它裡面的元素必須是不可變資料型別,無序,不重複。

2、集合例子:表現形式兩種

set1 = set({1,2,3})
set2 = {1,2,3}
print(set1,type(set1))  # {1, 2, 3} <class 'set'>
print(set2,type(set2))  # {1, 2, 3} <class 'set'>

3、集合----增

set1 = {1,2,3}
set1.add('bug')
print(set1)  # {1, 2, 3, 'bug'}


set1.update('bug1')  # update 迭代式新增
print(set1)  # {1, 2, 3, 'g', 'u', '1', 'b'}
set1.update(['bug1','bug3'])  # 新增列表中的值
print(set1)  # {1, 2, 3, 'g', 'bug1', 'u', 'bug3', '1', 'b'}

4、集合----刪除

# pop()隨機刪除
set1 = {1,2,3}
set1.pop()  # 隨機刪除
print(set1)
print(set1.pop())  # 有返回值

# remove() 按照元素刪除
set1 = {1,2,3}
set1.remove(3)
print(set1)

# clear()清空集合
set1 = {1,2,3}
set1.clear()
print(set1)

# del set1 刪除集合
set1 = {1,2,3}
del set1
print(set1)

5、改:不存在,原因是集合中元素是不可變資料型別

6、查:for迴圈查詢集合

set1 = {1,2,3}
for i in set1:
    print(i)

7、集合例子:

# 取相同元素(連個集合)
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1&set2)  # {2, 3, 4}

# 取兩個集合所有元素
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1|set2)  # {1, 2, 3, 4, 5, 6}

# 取不交集的部分
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1^set2) # {1, 5, 6}

# 取set1獨有
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1-set2)  # {1, 5}

# set1是set2的子集
set1 = {1,2,3,4,5}
set2 = {2,3,4,6}
print(set1<set2) # False

# 列表去重(先轉換成集合,最後強制轉換成列表)
li = [1, 2, 33, 33, 2, 1, 4, 5, 6, 6]
li = set(li)
print(li)  # {1, 2, 33, 4, 5, 6}

li = list(li)
print(li)   # [1, 2, 33, 4, 5, 6]

# 改變集合型別為不可變
s = frozenset('barry')
print(s,type(s))  # frozenset({'b', 'r', 'y', 'a'}) <class 'frozenset'>
for i in s:
    print(i)  #  b  r y a