6.組合數(shù)據(jù)類型

集合set

集合是多個(gè)元素的無(wú)序組合.

  • 集合用大括號(hào){}表示,元素間利用逗號(hào)分隔
  • 建立集合類型用{}或set()
  • 建立空集合類型,必須使用set()

集合操作符

操作符及應(yīng)用 描述
S|T 返回一個(gè)新集合,包括st中的所有元素
S-T 返回一個(gè)新集合,包括在集合s中但不在t中的元素
S&T 返回一個(gè)新集合包括同時(shí)在s和t中的元素
S^T 返回一個(gè)新集合,包括S和T中的非相同元素
S<=T或S<T 返回True/False,判斷S和T的子集關(guān)系
S>=T或S>T 返回True/False,判斷S和T的包含關(guān)系

集合處理方法

操作函數(shù)或方法 描述
S.add 向集合中添加元素
S.discard 移除集合中的一個(gè)元素(如果元素不存在,不報(bào)錯(cuò))
S.remove 移除集合中的一個(gè)元素(如果元素不存在,會(huì)引發(fā) KeyError)
S.clear 移除集合中所有元素
S.pop 隨機(jī)返回集合S的一個(gè)元素,更新S(如果集合為空,會(huì)引發(fā) KeyError)
S.copy 返回集合S的一個(gè)副本
len(S) 返回集合S的元素個(gè)數(shù)
x in S 判斷集合S中是否有元素x,是返回True否則返回False
x not in S 判斷集合S中是否有元素x,是返回False否則返回True
set(x) 將其他類型變量x轉(zhuǎn)變?yōu)榧项愋?/td>

數(shù)據(jù)去重,典型用法,利用數(shù)組內(nèi)元素不可重復(fù).

序列sequence

  • 序列可以包含一個(gè)或多個(gè)元素,也可以沒有任何元素.
  • 我們之前所說的基本數(shù)據(jù)類型,都可以作為序列的元素.。
  • 序列有兩種:tuple(元組) 和 list (表)

序列操作符

操作符及應(yīng)用 描述
x in S 如果x是序列S的元素,返回True否則返回False
x not in S 如果x是序列S的元素,返回False否則返回True
s + t 連接兩個(gè)序列s和t
SN或NS 講序列s復(fù)制n次
S[i] 索引,返回序列中的第i個(gè)元素
S[i:j]或S[i;j;k] 切片,返回s序列中第i到j(luò)步長(zhǎng)為k的元素子序列

序列處理方法

函數(shù)和方法 描述
len(S) 返回序列S的長(zhǎng)度
min(s) 返回序列s的最小元素,s中元素需要可比較
max(s) 返回序列s的最大元素,s中元素需要可比較
s.index(x)或s.index(x,i,j) 返回序列s從i到j(luò)中第一次出現(xiàn)元素x的位置
s.count(x) 返回序列中x出現(xiàn)的總次數(shù)

元組是序列類型的一種擴(kuò)展.
使用小括號(hào)()或tuple()創(chuàng)建,元素間用逗號(hào)分隔.
可以使用或不使用小括號(hào).
tuple元素不可變,list元素可變.
字符串是一種tuple.
數(shù)據(jù)保護(hù)將數(shù)據(jù)轉(zhuǎn)換為元組類型.

字符串是一種特殊的元組,因此可以執(zhí)行元組的相關(guān)操作。

str = 'abcdef'
print(str[2:4])
  • 列表是一種序列類型,被創(chuàng)建后可以隨意修改
  • 使用方括號(hào)[]或list()創(chuàng)建,元素間用逗號(hào)分隔
  • 可以使用或不使用小括號(hào)
函數(shù)或方法 描述
ls[i]=x 替換列表ls第i個(gè)元素為x
ls[i:j:k]=lt 用列表lt替換ls切片后所對(duì)應(yīng)元素子列表
del ls[i] 刪除列表ls中第i元素
del ls[i:j:k] 刪除列表ls中從第i到第j步長(zhǎng)為k的元素
ls+=lt 更新列表ls,將列表lt元素增加到列表ls中
ls*=n 更新列表ls,將元素重復(fù)n次

列表類型操作類型和方法

函數(shù)或方法 描述
ls.append(x) 在列表最后添加元素x
ls.clear() 移除列表中所有元素
ls.copy() 生成一個(gè)新列表,賦值ls中所有元素
is.insert(i,x) 在列表ls第i位增加元素x
ls.pop(i) 將列表ls中第i位置元素取出并刪除
ls.remove(x) 將列表ls中出現(xiàn)的第一個(gè)x元素刪除
ls.reverse() 將列表ls中元素反轉(zhuǎn)

字典

映射映射是一種鍵(索引)和值(數(shù)據(jù))的對(duì)應(yīng).

  • 字典類型是映射的體現(xiàn).
  • 鍵值對(duì):鍵是數(shù)據(jù)索引的擴(kuò)展.
  • 字典是鍵值對(duì)的集合,鍵值對(duì)之間無(wú)序.
  • 字典的每個(gè)鍵值(key=>value)對(duì)用冒號(hào)(:)分割,每個(gè)對(duì)之間用(,)分割,整個(gè)字典包括在花括號(hào){}中.
    <字典變量> = {<鍵1>:<值1>,<鍵2>:<值2>...<鍵n>:<值n>}
    鍵必須是唯一的,但值不必.
>>>d = {"中國(guó)":"北京","美國(guó)":"華盛頓","法國(guó)":"巴黎"}
>>>d
{'中國(guó)':'北京','美國(guó)':'華盛頓','法國(guó)':'巴黎'}
>>>d["中國(guó)"]
'北京'
>>>de = {} ; type(de)
<class 'dict'>
函數(shù)或方法 描述
del d[k] 刪除字典d中鍵k對(duì)應(yīng)的數(shù)據(jù)值
k in d 判斷鍵k是否在字典d中,如果在返回True,否則False
d.keys() 返回字典中所有的鍵信息
d.values() 返回字典中所有的值信息
d.items() 返回字典中所有的鍵值對(duì)信息

列表類型操作函數(shù)和方法

函數(shù)或方法 描述
d.get<k.default> 鍵k存在,則返回相應(yīng)值,不在則返回<default>值
d.pop<k.default> 鍵k存在,則取出相應(yīng)值,不在則返回<default>值
d.popitem() 隨機(jī)從字典中取出一個(gè)鍵值對(duì),以元組形式返回
d.clear() 刪除所有的鍵值對(duì)
len(d) 返回字典d中元素的個(gè)數(shù)

對(duì)于List:

classmates = ['Michael', 'Bob', 'Tracy']
classmates.append('Adam')    //添加在末尾,沒有add()方法
classmates.insert(1, 'Jack') //在指定位置添加
classmates.pop(1)            //在知道位置刪除,參數(shù)是索引
del classmate[1]             //刪除第二個(gè)元素
classmates.remove('Bob')     //參數(shù)是元素,刪除第一個(gè)與Bob值匹配的元素,之后又相同元素不會(huì)刪除

對(duì)于dict:

d = {'a': 'A', 'b': 'B'}
del d['a']
d.pop('a')    //參數(shù)是key,沒有remove()方法
d['c']='C';   //插入直接賦值即可

對(duì)于set:

s={1,2,3}       //set對(duì)象的創(chuàng)建也可以是s=set(iterable)
s.add(8)        //添加8到末尾   沒有append()方法
s.remove(8)     //參數(shù)是元素,不是索引    刪除8   
s.pop()         //刪除最后一個(gè)元素

對(duì)于tuple:
由于tuple一旦初始化就不能修改,所以不能插入和刪除.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,654評(píng)論 19 139
  • 〇、前言 本文共108張圖,流量黨請(qǐng)慎重! 歷時(shí)1個(gè)半月,我把自己學(xué)習(xí)Python基礎(chǔ)知識(shí)的框架詳細(xì)梳理了一遍。 ...
    Raxxie閱讀 19,591評(píng)論 17 410
  • 第六章:數(shù)字 第七章:序列,列表,元組 1.序列 序列類型有著相同的訪問模式:它的每一個(gè)元素可以通過指定一個(gè)偏移量...
    m風(fēng)滿樓閱讀 980評(píng)論 0 2
  • 民宿設(shè)計(jì)最近是很火一個(gè)行業(yè),民宿最精髓就是融入環(huán)境。
    金保室內(nèi)設(shè)計(jì)閱讀 585評(píng)論 0 0
  • 冬至到,吃水餃, 我搟皮兒,奶奶包, 頭碗水餃給爺爺, ...
    周雅菲閱讀 518評(píng)論 0 0

友情鏈接更多精彩內(nèi)容