python 之 集合 與 深淺拷貝

集合

  • 創建方法僅有一種
  • 無序
  • 去重
  • 關係測試,測試兩組數據之前的交集、差集、並集等關係
s=set('carrmee')
print(s) # {'c','a','r','m','e'}

s1 = ['alivin','ee','alivin']
print(set(s1))#去重{'alivin','ee'}
  1. 集合無序,不能進行切片,只能遍歷來訪問
li=[2,3,'alex']
s=set(li)
print(2 in s)
print('ale' in s)
for i in s:
    print(i)

2.列表增添

s=set('1,3,'carr')
# s.add('u')
# print(s)

# s.add('uu')
# print(s)

# s.update('ops')#把他分開加進去
# print(s)

# s.update([12,'rr'])
# print(s)

# s.remove(2)
# print(s)

# s.pop()
# print(s)

# s.clear()
# print(s)

3.集合的比較

# a = set([1,2,3,4,5])
# b = set([4,5,6,7,8])
#intersection交集
# print(a.intersection(b))#{4, 5}
# print(a & b)

#union並集
# print(a.union(b))
# print(a | b)

#差集
# print(a.difference(b))# in a but not in b
# print(b.difference(a))
# print(a - b)

#對稱差集(反向交集)
# print(a.symmetric_difference(b))
# print(a ^ b)

#超集 父
# print(a.issuperset(b))#a>b
# print(a.issubset(b))#a<b

深淺拷貝

# s = [1,'2','pp']
# s2 = s.copy()
# print(s2)
#
# s2[0]=3
# print(s2)

# s = [[1,2],'2','pp']
# s3=s.copy()
# print(s3)

# s3[1]='lin'
# print(s3)
# print(s)
#
# s[0][1]=3
# print(s3)
# print(s)


import  copy # 深拷貝需要導入模塊
husband = ["le",123,[20000,10000]] #姓名 id [額度,餘額]
wife = husband.copy()#共用一張卡
wife[0] = 'kk'#修改姓名
wife[1] = 555#修改id
wife[2][1] -= 1000#刷了1000
print(wife,husband)

thrid = copy.copy(husband)#深拷貝 與husband不影響
thrid[2][1] -= 2000
print(thrid)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章