搞定Python的幾個(gè)常用數(shù)據(jù)結(jié)構(gòu)!

來(lái)源:https://blog.csdn.net/qq_53421929/
python基本數(shù)據(jù)類型
數(shù)字類型
具體運(yùn)算中數(shù)據(jù)的類型
不同情況下的布爾類型
各進(jìn)制的表示與轉(zhuǎn)換
進(jìn)制的表示
進(jìn)制的轉(zhuǎn)換
序列
str字符串
列表(list)
元組(tuple)
序列總結(jié)
集合(set)
字典(dict)
轉(zhuǎn)義字符
知識(shí)點(diǎn)總結(jié)
首先需要你的電腦安裝好了Python環(huán)境,并且安裝好了Python開(kāi)發(fā)工具。
如果你還沒(méi)有安裝,可以參考以下文章:
如果僅用Python來(lái)處理數(shù)據(jù)、爬蟲(chóng)、數(shù)據(jù)分析或者自動(dòng)化腳本、機(jī)器學(xué)習(xí)等,建議使用Python基礎(chǔ)環(huán)境+jupyter即可,安裝使用參考Windows/Mac 安裝、使用Python環(huán)境+jupyter notebook
如果想利用Python進(jìn)行web項(xiàng)目開(kāi)發(fā)等,建議使用Python基礎(chǔ)環(huán)境+Pycharm,安裝使用參考:Windows下安裝、使用Pycharm教程,這下全了 和 Mac下玩轉(zhuǎn)Python-安裝&使用Python/PyCharm 。
數(shù)字類型
整數(shù):int 浮點(diǎn)數(shù):float
python中的數(shù)據(jù)類型==僅有int和float兩種==(沒(méi)有如short,long,double之分)
具體運(yùn)算中數(shù)據(jù)的類型
這里查看各種情況的數(shù)據(jù)類型運(yùn)用到了python中的==type函數(shù)==
print(type(1))
print(type(-1))
print(type(1.1111))
print(type(1+1))
print(type(1+1.0)) # 由于1.0為float類型,python將1+1.0自動(dòng)轉(zhuǎn)化為float類型
print(type(1*1))
print(type(1*1.0))
# python中的除法使用'/'結(jié)果為float類型,使用"http://"為int類型
print(type(2/2))
print(type(2//2))
print(type(1//2)) # 與其他語(yǔ)言類似python中整除會(huì)忽略小數(shù)點(diǎn)后數(shù)字
運(yùn)行結(jié)果:

==小結(jié):==
只要式子中出現(xiàn)了浮點(diǎn)型數(shù)字(小數(shù))最終整體類型都會(huì)變成float類型 使用'/'結(jié)果為float類型,使用"http://"為int類型 python中整除會(huì)忽略小數(shù)點(diǎn)后數(shù)字
布爾類型:bool ==python中,布爾類型也是數(shù)字的一種==
不同情況下的布爾類型
# bool類型包括 True和 False兩種
print(type(True))
print(type(False))
# 將bool類型轉(zhuǎn)換為int類型
print(int(True))
print(int(False))
# python中0為假,非0為真(無(wú)論進(jìn)制)
print(bool(1))
print(bool(0))
print(bool(2.2))
print(bool(0b10))
# 對(duì)字符串取布爾值
print(bool('abc'))
print(bool(''))
# 對(duì)列表取布爾值
print(bool([1,2,3]))
print(bool([]))
運(yùn)行結(jié)果:
==小結(jié)==
True和False開(kāi)頭需大寫 數(shù)字中:0為False,其他均為True;在其他類型中:空為False,非空為True
各進(jìn)制的表示與轉(zhuǎn)換
進(jìn)制的表示
二進(jìn)制:0b 八進(jìn)制:0o 十六進(jìn)制:0x
# 二進(jìn)制標(biāo)識(shí)符為 0b,打印輸出其代表的十進(jìn)制數(shù)
print(0b10)
print(0b11)
# 八進(jìn)制標(biāo)識(shí)符為 0o,打印輸出其代表的十進(jìn)制數(shù)
print(0o10)
print(0o11)
# 十六進(jìn)制標(biāo)識(shí)符為 0x,打印輸出其代表的十進(jìn)制數(shù)
print(0x10)
print(0x1F)
# 輸入數(shù)字默認(rèn)為十進(jìn)制
print(10)
結(jié)果:
==小結(jié)==:需牢記各種進(jìn)制的表示形式
進(jìn)制的轉(zhuǎn)換
轉(zhuǎn)換為二進(jìn)制(binary):bin() 轉(zhuǎn)換為八進(jìn)制(octal):oct() 轉(zhuǎn)換為十進(jìn)制:int() 轉(zhuǎn)換為十六進(jìn)制(hexadecimal):hex()
# 轉(zhuǎn)換為二進(jìn)制
print(bin(10))
print(bin(0o7))
print(bin(0xE))
# 轉(zhuǎn)換為八進(jìn)制
print(oct(0b111))
print(oct(0x777))
# 轉(zhuǎn)換為十進(jìn)制
print(int(0b111))
print(int(0o777))
# 轉(zhuǎn)換為十六進(jìn)制
print(hex(888))
print(hex(0b111))
print(hex(0o7777))
運(yùn)行結(jié)果:
序列
str字符串
字符串類型表示為單/雙引號(hào)內(nèi)的內(nèi)容,由于英文語(yǔ)句中可能出現(xiàn)單引號(hào)的情況(Let's go),此時(shí)可使用雙引號(hào)擴(kuò)起字符串中的內(nèi)容
print("Let't go")
print('Let't go') # 其中此語(yǔ)句會(huì)報(bào)錯(cuò)
運(yùn)行結(jié)果:
字符串的運(yùn)算
兩字符串間可相加拼接成一個(gè)字符串 字符串乘上一個(gè)數(shù)n,得到n個(gè)該字符串
# 字符串的運(yùn)算
print("he"+"llo")
print("hello"*3)
結(jié)果
獲取單個(gè)字符
在str后添加[i](i代表想要獲取str中的位置下標(biāo)),可獲取指定位置字符
# 輸出指定位置的字符
print("hello world"[0])
print("hello world"[1])
print("hello world"[2])
print("hello world"[-1])
print("hello world"[-2])
結(jié)果
其中==i可為負(fù)數(shù)==,代表獲取倒數(shù)第i位的數(shù)字
獲取指定區(qū)間內(nèi)的字符串
使用‘:’對(duì)起始位置和末尾位置進(jìn)行連接,如:[m:n+1]表示截取str中下標(biāo)為==m~n+1==的字符串進(jìn)行截?。?=n+1位置取開(kāi)區(qū)間==) [m:]則表示由下標(biāo)為m的位置一直截取到末尾
# 截取指定區(qū)域的字符串
print("hello world"[0:5])
print("hello world"[-5:11])
print("hello world"[-5:])

列表(list)
列表存儲(chǔ)的數(shù)據(jù)類型
列表中可存儲(chǔ)任意元素
# 列表可存儲(chǔ)的類型
print(type([1, 2, 3, 4, 5]))
print(type(["hello", 1, False]))
print(type([[1, 2], [3, 4], [True, False]])) # 嵌套列表

讀取列表中的元素
讀取列表中的元素方法與str相同
# 讀取列表中的元素
print(["hello", "world"][0:]) # 和str類型的讀取方式相同

列表的運(yùn)算
與str的運(yùn)算相似
# 列表的運(yùn)算(和str的運(yùn)算相似)
print(["hello", "world"] + ["hello", "world"])
print(["hello", "world"] * 3)

元組(tuple)
元組的基本使用方法,存儲(chǔ)數(shù)據(jù)的規(guī)則和列表相同,它們的區(qū)別主要在以下幾點(diǎn):
列表是動(dòng)態(tài)數(shù)組,它們可變且可以重設(shè)長(zhǎng)度(改變其內(nèi)部元素的個(gè)數(shù))。 元組是靜態(tài)數(shù)組,它們不可變,且其內(nèi)部數(shù)據(jù)一旦創(chuàng)建便無(wú)法改變。 元組緩存于Python運(yùn)行時(shí)環(huán)境,這意味著我們每次使用元組時(shí)無(wú)須訪問(wèn)內(nèi)核去分配內(nèi)存。
對(duì)元組的基本操作
# 元組存儲(chǔ)是數(shù)據(jù)類型
print(type((1, 2, 3, 4, 5)))
print(type((1, 2, "hello", [1, 2, 3], True)))
# 獲取指定位置元素
print((1, 2, 3, 4)[2])
# 獲取指定區(qū)域元素
print((1, 2, 3, 4)[1:])
print(type((1, 2, 3, 4)[1:])) # 返回類型為tuple
# 元組的運(yùn)算
print((1, 2, 3, 4)+(5, 6))
print((1, 2, 3, 4)*2)

序列總結(jié)
提取指定位置元素方法:序列后面緊跟[i] 提取指定區(qū)間元素方法:序列后面緊跟[m : n](m,n為區(qū)間下標(biāo),n為開(kāi)區(qū)間)
==序列這種類型對(duì)其中的元素操作方法完全相同==
集合(set)
集合中的數(shù)據(jù)是==無(wú)序的==,故==不能用下標(biāo)==進(jìn)行訪問(wèn) 集合中的元素==不重復(fù)==
集合的運(yùn)算
集合的運(yùn)算方法和數(shù)學(xué)中集合運(yùn)算方法相同
# 求兩個(gè)集合的差集
print({1, 2, 3, 4, 5, 6} - {2, 3}) # '-'為求差集的符號(hào)
# 求兩個(gè)集合的交集
print({1, 2, 3, 4, 5, 6} & {2, 3}) # '&'為求交集的符號(hào)
# 求兩個(gè)集合的并集
print({1, 2, 3, 4, 5, 6} | {5, 6, 7}) # '-'為求差集的符號(hào)

空集合的定義:
>>> set()
字典(dict)
字典和集合定義的區(qū)別:dict:{key1:value1,key2:value2.....} set:{value1,value2....} 字典中的鍵==不能重復(fù)也不可變==(如list列表就是可變類型) 空字典用{}表示
# 字典類型的輸入格式
print(type({1: 1, 2: 2, 3: 3}))
# 字典的使用
print({1:"Hello", 2:"world"}[2])

轉(zhuǎn)義字符

知識(shí)點(diǎn)總結(jié)

點(diǎn)贊+留言+轉(zhuǎn)發(fā),就是對(duì)我最大的支持啦~
--End--
文章點(diǎn)贊超過(guò)100+
我將在個(gè)人視頻號(hào)直播(老表Max)
帶大家一起進(jìn)行項(xiàng)目實(shí)戰(zhàn)復(fù)現(xiàn)
掃碼即可加我微信
老表朋友圈經(jīng)常有贈(zèng)書(shū)/紅包福利活動(dòng)
點(diǎn)擊上方卡片關(guān)注公眾號(hào),回復(fù):1024 領(lǐng)取最新Python學(xué)習(xí)資源 學(xué)習(xí)更多: 整理了我開(kāi)始分享學(xué)習(xí)筆記到現(xiàn)在超過(guò)250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲(chóng)、機(jī)器學(xué)習(xí)等方面,別再說(shuō)不知道該從哪開(kāi)始,實(shí)戰(zhàn)哪里找了 “點(diǎn)贊”就是對(duì)博主最大的支持

