Python-四種數(shù)據(jù)結(jié)構(gòu)

Python-四種數(shù)據(jù)結(jié)構(gòu)

列表

Python:列表【全用法】

列表(list)用來存儲(chǔ)不同的數(shù)據(jù)類型,使用 [ ] ,逗號(hào)分隔不同的數(shù)據(jù)項(xiàng)

num = ['one','two','three']
image-20210926090503080

列表的特性

索引

image-20210924155608576
print(num)
print(num[0])
print(num[-1])
image-20211019101955054

切片

print(num[1:])
print(num[:-1])   # 打印最后一個(gè)元素之前的內(nèi)容 
print(num[::-1])  # 倒序輸出
image-20210926102850223

重復(fù)

print(num*3)
image-20210926105731623

連接

num1 = ['four','five','six']
print(num + num1)
image-20210926112705270

列表里嵌套列表

list = [[1,2,3],['a','b','c'],['one','two','three']]
print(list[0][1]) # 打印第一個(gè)列表的第二個(gè)元素
print(list[:][2]) # 打印第二個(gè)列表
image-20210926113856034

列表的增刪改查

增加

# 連接的方式添加
num2 = num + ['seven'] 
print(num2)

# 單個(gè)元素的添加 - append()
num2.append('eight')
print(num2)

# 多個(gè)元素的添加 - extend()
num2.extend(['nine','ten'])
print(num2)

# 指定位置插入元素 - insert()
# 在第三個(gè)位置前插入 four
num2.insert(2,'four')
print(num2)
image-20210926164157748

刪除

num3 = num
print(num3)

# 移除列表中的一個(gè)元素,默認(rèn)最后一個(gè)元素,并且返回該元素的值 - pop()
num3.pop(0)
print(num3)

# 指定刪除對(duì)象的名字 - remove()
num3.remove('two')
print(num3)

# 直接刪除整個(gè)列表 - del
del num3
print(num3)
image-20210926170056762

賦值

num3 = num
print(num3)
num3[0] = 1
num3[1:] = [2,3]
print(num3)
image-20211019102352908

查看

num3 = num
print(num3)

# 查看出現(xiàn)的次數(shù)
num3.count('two')

# 查看指定元素的索引值
num3.index('one')

# 從第一個(gè)和第三個(gè)元素之間查看two
num3.index('two',0,3)
image-20210927154446984

字典

Python字典類型及操作

字典這種數(shù)據(jù)結(jié)構(gòu)的特征使用名稱-內(nèi)容進(jìn)行數(shù)據(jù)的構(gòu)建,在python中分別對(duì)應(yīng)著鍵(key)- 值(value),習(xí)慣上稱之為鍵值對(duì)

特征:

  • 字典中數(shù)據(jù)必須是以鍵值對(duì)的形式出現(xiàn)的
  • 邏輯上講,鍵是不能重復(fù)的,而值是可以重復(fù)的
  • 字典中的鍵(key)是不可變的,也就是無法修改的,而值(value)是可變的,可修改的,可以是任何對(duì)象

創(chuàng)建字典

# 直接創(chuàng)建
test = {'num1':'one','num2':'two','num3':'three'}
print(test)

# 將雙元素序列轉(zhuǎn)化為字典 - dict()
items = [('num1','one'),('num2','two'),('num3','three')]
test1 = dict(items)
print(test1)
image-20210929094441455

字典訪問

# 創(chuàng)建測(cè)試字典
test2 = {'num1':[1,'one','a'],'num2':[2,'two','b']}

# 打印 num1 對(duì)應(yīng)的內(nèi)容列表
print(test2['num1'])

# 打印 num1 對(duì)應(yīng)的內(nèi)容列表的第二個(gè)
print(test2['num1'][1])
image-20210929102115566

修改與添加字典

num = {'num1':[1,'one'],'num2':[2,'two']}
print(num)

# 修改 num1 對(duì)應(yīng)的內(nèi)容為 a
num['num1'] = 'a'
print(num)

# 添加 num3 及其對(duì)應(yīng)值 3
num['num3'] = 3
print(num)
image-20210929110004926

字典刪除

num = {'num1':[1,'one'],'num2':[2,'two'],'num3':[3,'three']}
print(num)

# del 刪除指定條目
del num['num1']
print(num)

# 刪除指定條目-pop(鍵,默認(rèn)值),不加默認(rèn)值系統(tǒng)會(huì)報(bào)錯(cuò)
num.pop('num1')
num.pop('num1','不存在')
num.pop('num2')
print(num)

# 清空目錄-clear(),空字典
num.clear()
print(num)

# del 刪除字典
del num
print(num)
image-20211012233044850

查找字典

num = {'num1':[1,'one'],'num2':[2,'two'],'num3':[3,'three']}
print(num)

# 成員運(yùn)算符 in -查找條目在字典中,返回值為true,反之為 false
'num1' in num
'num4' in num 

# 獲取條目值 - get()。如果指定鍵不在字典中,有默認(rèn)值返回默認(rèn)值,沒有默認(rèn)值不返回任何信息
num.get('num4','不存在')
num.get('num4')
image-20211014105112017

字典的整體操作

遍歷

num = {'num1':[1,'one'],'num2':[2,'two'],'num3':[3,'three']}
print(num)

# 遍歷字典中所有的鍵 - keys()
for key in num.keys():
    print(key,num[key])
    
# 遍歷字典中所有的值 - values(),無法映射到對(duì)應(yīng)的鍵
for value in num.values():
    print(value)
    
# 遍歷字典中所有的條目 - items()
for key,value in num.items():
    print('key: ',key)
    print('value',value)
image-20211014133001591

字典合并

N1 = {'num1':[1,'one'],'num2':[2,'two']}
print(N1)
N2 = {'num3':[3,'three']}
print(N2)

for key,value in N1.items():
    N2[key] = value

print(N1)
print(N2)
image-20211014135529460

元組

一般通過直接賦值的方式創(chuàng)建元組,用逗號(hào)間隔元素,可以用括號(hào)括起來,也可以不用。元組不可修改,但可以像列表一樣被查看索引

創(chuàng)建元組

N1 = (1,'a','one')
print(N1,type(N1))

N2 = 1,'a','one'
print(N2,type(N2))

# 單個(gè)元素后面加一個(gè)逗號(hào),類型為元組
N3 = ('two',)
print(N3,type(N3))

N4 = ('two')
print(N4,type(N4))
image-20211015112712170

元組元素訪問

num = (1,2,3,4,5,6,7,8,9)
print(num,type(num))

#使用索引訪問元組中的某個(gè)元素
print(num[2])
print(num[-1])

#使用切片訪問元組中的一組元素
print(num[1:3])
print(num[-3:-1])
print(num[0:7:2])
image-20211015140242610

集合

集合是一個(gè)無序的不重復(fù)元素序列,不能被切片也不能被索引,除了做集合運(yùn)算之外,集合元素可以被添加刪除

Python3 集合

創(chuàng)建集合

可以使用大括號(hào) {} 或者 set() 函數(shù)創(chuàng)建集合,創(chuàng)建一個(gè)空集合必須用 set() 而不是 {},因?yàn)?{} 是用來創(chuàng)建一個(gè)空字典

# set()只能傳遞一個(gè)參數(shù),多個(gè)參數(shù)可以先構(gòu)建一個(gè)列表
N1 =  set('a','b','c')
N1 = set(['a','b','c'])
print(type(N1))

N2 = {'c','d'}
print(type(N2))

N3 = {}
print(type(N3))

N4 = set()
print(type(N4))
image-20211019092457022

集合的基本操作

添加元素

print(N1)

# add() - 只能添加一個(gè)元素,如果元素已存在,則不進(jìn)行任何操作
N1.add('d')
print(N1)

# update() - 可以添加元素,且參數(shù)可以是列表,元組,字典等
N1.update(['a','f'])
print(N1)
image-20211019095442960

移除元素

print(N1)

# remove() - 如果元素不存在,則會(huì)發(fā)生錯(cuò)誤
N1.remove('a')
print(N1)

# discard() - 如果元素不存在,不會(huì)發(fā)生錯(cuò)誤
N1.discard('b')
print(N1)
image-20211019101426014

清空集合

print(N1)

# 清空集合 - clear()
N1.clear()
print(N1)  # 空白集合打印 set(),{}表示的是空白字典
print(type(N1))
image-20211019101621385

參考書目:編程小白的第1本Python入門書 - 侯爵

?著作權(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)容

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