<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在python3中按資料型別的可變與不可變大致分為如下幾種型別:
Number
(數位)、String
(字串)、Tuple
(元組);List
(列表)、Dictionary
(字典)、Set
(集合)。1.無序不重複沒有重複的元素,且元素無序存放(故集合沒有下標和切片),set的只要作用就是用來給資料去重。
2.使用時為 { },與字典區分:當花括號裡的元素不是鍵值對的時候為集合。
3.集合的底層其實是通過字典來封裝的
可以使用大括號 { } 或者 set() 函數建立集合,但是注意如果建立一個空集合必須用 set() 而不是 { },因為{}是用來表示空字典型別的。
person2 = set(("hello","jerry",133,11,133,"jerru")) #只能傳入一個引數,可以是list,tuple等 型別 print(len(person2)) print(person2) ''' 5 {133, 'jerry', 11, 'jerru', 'hello'} '''
a=set() a.add("a") a.add("b") print(a)
person ={"student","teacher","babe",123,321,123} #同樣各種型別巢狀,可以賦值重複資料,但是儲存會去重 print(len(person)) #存放了6個資料,長度顯示是5,儲存是自動去重 print(person) #但是顯示出來則是去重的 ''' 5 {321, 'teacher', 'student', 'babe', 123} ''' #空set集合用set()函數表示 person1 = set() #表示空set,不能用person1={} print(len(person1)) print(person1) ''' 0 set() '''
a=["awe","weg","dawqgg"] c=set(a) print(c) b="chenshuagege" d=set(b) print(d) al=("233","34455") aw=set(al) print(al)
#set對字串也會去重,因為字串屬於序列。 str1 = set("abcdefgabcdefghi") str2 = set("abcdefgabcdefgh") print(str1,str2) print(str1 - str2) #-號可以求差集 print(str2 - str1) #空值 #print(str1 + str2) #set裡不能使用+號 ==================================================================== {'d', 'i', 'e', 'f', 'a', 'g', 'b', 'h', 'c'} {'d', 'e', 'f', 'a', 'g', 'b', 'h', 'c'} {'i'} set()
#1.給set集合增加資料 person ={"student","teacher","babe",123,321,123} person.add("student") #如果元素已經存在,則不報錯,也不會新增,不會將字串拆分成多個元素,區別update print(person) person.add((1,23,"hello")) #可以新增元組,但不能是list print(person) ''' {321, 'babe', 'teacher', 'student', 123} {(1, 23, 'hello'), 321, 'babe', 'teacher', 'student', 123} ''' # update用於集合的合併,可以把多個集合新增到一個集合裡面。可以iterar的資料都可以新增成set集合 person.update("abc")#使用update不能新增字串,會拆分 print(person) #會將字串拆分成a,b,c三個元素 ''' {321, 1, 3, 'b', 'c', 'teacher', (1, 23, 'hello'), 'a', 'babe', 'student', 123} ''' set1 = set() set1.add('武動乾坤') set2 = {'jsy', '稻香', '愛的代價', '大碗寬面'} set2.update(set1) print(set2) ''' {'大碗寬面', 'jsy', '愛的代價', '稻香', '武動乾坤'} ''' #2.從set裡刪除資料 person.remove("student")#按元素去刪除 print(person) #print("student")如果不存在 ,會報錯。 ''' {321, 1, 3, 'c', 'b', (1, 23, 'hello'), 'teacher', 'babe', 'a', 123} ''' person.discard("student")#功能和remove一樣,好處是沒有的話,不會報錯 ret = person.pop() #在list裡預設刪除最後一個,在set裡隨機刪除一個。 print(person) print(ret) #pop()返回的是被刪除掉的那一項 ''' {1, 3, (1, 23, 'hello'), 'teacher', 'b', 'a', 'babe', 123, 'c'} ''' #3.更新set中某個元素,因為是無序的,所以不能用角標 #所以一般更新都是使用remove,然後在add #4.查詢是否存在,無法返回索引,使用in判斷 if "teacher" in person: print("true") else: print("不存在") ''' true ''' #5.終極大招:直接清空set print(person) person.clear() print(person) ''' set() '''
交 並 差集操作交集 intersection;並集 union;差集 difference
可用運運算元表示交集,並集,差集交集 & 並集 | 差集 -
#取兩者的交集 b={1,23} a={23,5} ret=b.intersection(a) print(ret) #取兩者的交集,intersection_update會改變b的內容 b={1,23} a={23,5} b.intersection_update(a) print(b) #union是把兩個set集合合起來 a={"a","b","c"} b={"a","wa"} wt=a.union(b) print(wt) #difference表示的意思是a中的內容b是沒有的,但是這個不會修改a自身的值,而是付給ret了 a={"12","14","234"} b={"12","23"} ret=a.difference(b) print(ret) #difference_update表示的意思是a中的內容b是沒有的,執行完,會修改a的內容 a={"12","14","234"} b={"12","23"} a.difference_update(b) print(a) #symmetric_difference為把兩個set集合裡相同的內容當作邊然後取這邊兩邊的內容 a={"a","b","c"} b={"a","wa"} ret=a.symmetric_difference(b) print(ret) a.symmetric_difference(b) print(a) #可用運運算元表示交集,並集,差集 set2 = {1, 2, 3, 4, 5} set3 = {3, 4, 5, 6, 7, 8, 9} print(set2 & set3) # 交集符號 & print(set2 | set3) # 並集符號 | print(set2 - set3) # 差集符號 - b={1,23} a={23,5} #如果a與b有集合的話,就返回false;如果沒有集合的話,就返回true ret=b.isdisjoint(a) print(ret) b={1,23,5} a={23,5} #issuperset說明b是否是a的父親,如果是就輸出true,如果不是輸出false ret=b.issuperset(a) print(ret) b={1,23,5} a={23,5} #b是否是a的子,如果是就輸出true,如果不是就輸出false ret=b.issubset(a) print(ret)
list
: 允許重複,有序,有下標,可切片tuple
: 允許重複,裡面元素不能進行增刪改,只能檢視dict
: 字典裡的元素以鍵值對的形式存在 鍵:唯一性 值:可以重複set
: 元素不允許重複,且具有無序性1.列表,元組,集合,此三者均可相互轉
list----->tuple,set 列表轉集合時,注意不能有重複元素,否則長度改變
tuple----->list,set
set----->list,tuple
2.當字典參與的轉換時,需特殊對待
dict----->list,tuple 僅能將字典的鍵轉換,不能將值轉換
list----->dict 列表內必須是列表或是元組,且其中只有兩個元素時,可轉
list = [['a', {1}], ('', 2), ('c', 3)] print(dict(list))
輸出:
{‘a’: {1}, ‘’: 2, ‘c’: 3}
正是由於集合的無序性,沒有下標,故在方法上與列表有些差異。
本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注it145.com的更多內容!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45