日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python学习-集合(创建、add、remove、discard、与、或、去同、存异)

發布時間:2023/12/19 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python学习-集合(创建、add、remove、discard、与、或、去同、存异) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

集合

  • 創建
  • 集合的使用

創建

字典的keys和values的返回值是list,并不是set,set是用{}

set和元組類似,不可變對象,該對象所指向的內存中的值不能被改變。即元素不能修改值。
set內部是無序的,每次運行打印的結果會不一樣。

見代碼:

set1 = {'a', 'b', 'c'} print(type(set1)) print('a' in set1) lst1 = [1, 2, 3, 4, 5, 6, 6, 4, 5, 6] set2 = set(lst1) print(set2, type(set2))

運行結果:

回顧一下到目前為止,學過的python的數據類型及定義:

int1 = 3 print("int1 = ", int1, type(int1)) flt1 = 1.0 print("flt1 = ", flt1, type(flt1)) str1 = 'sdf' print("str1 = ", str1, type(str1)) bool1 = True print("bool1 = ", bool1, type(bool1)) lst1 = [1, 2, 'a', 'b', [1, 2, 'a', 'b']] print("lst1 = ", lst1, type(lst1)) tup1 = (1, 2, 'a', 'b', [1, 2, 'a', 'b']) print("tup1 = ", tup1, type(tup1)) dict1 = {1: 'a',2: 'b',3: 'c',4: 'd' } print("dict1 = ", dict1, type(dict1)) set1 = {1, 2, 'a', (3, 4, 'b')} print("set1 = ", set1, type(set1))

運行結果:

因為set的特性,所有set嵌套時,只能嵌套不可變類型,但是我這里還是有個疑問,為什么能嵌套元組,而不能嵌套set呢?

經過網友們的解答,明白了其中原因,因為我代碼中的元組的元素都是不可變的,所以這個元組的地址是固定的,假如我的這個元組里面增加了一個list,那這個元組就不是hashable的。

set2 = {1, 2, 'a', (3, 4, ['b', 's'])} print("set2 = ", set2, type(set2))


所以集合和元組還是蠻相似的,不過呢,集合能夠自動去重。

set2 = {1, 2, 'a', (3, 4), 1, 2, 'a', (3, 4), 1, 2, 'a', (3, 4)} print("set2 = ", set2, type(set2))

通過代碼,能看得出來這個集合的元素是重復的,我們看看運行結果呢?

重復的元素被自動清除了。

集合的使用

集合常用方法

set3 = {2, 3, 's', 'd', 'f', 6} print("set3 = ", set3, type(set3)) set3.add(5) print("set3 = ", set3, type(set3)) set3.remove(5) print("set3 = ", set3, type(set3)) set3.add(4) set3.add(4) print("set3 = ", set3, type(set3)) str2 = 'sadfadfa' set4 = set(str2) print("set4 = ", set4, type(set4)) print('set3 & set4 = ', set3 & set4) print('set3 | set4 = ', set3 | set4) print('set3 ^ set4 = ', set3 ^ set4) print('set3 - set4 = ', set3 - set4) print('set4 - set3 = ', set4 - set3)

運行結果:

其中用到了remove,其實這個方法不太友好,如果移除不存在的元素,會報錯。所以要配合使用場景來決定是使用remove,還是discard。如果需要刪除不存在元素報錯,那就用remove。如果需要刪除不存在元素,不報錯,那就使用discard。

print("set3 = ", set3, type(set3)) set3.discard(15) set3.discard(2) set3.discard('ss') print("set3 = ", set3, type(set3))

運行結果:

使用discard不會報錯,成功運行。
pop函數,隨機彈出一個元素;
clear函數,清空set;
判斷元素是否在集合中存在,2 in set3;

集合的基本操作都囊括了,本文到此也結束了。

總結

以上是生活随笔為你收集整理的python学习-集合(创建、add、remove、discard、与、或、去同、存异)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。