2.Python3數(shù)據(jù)結(jié)構(gòu)

1.python3基本數(shù)據(jù)結(jié)構(gòu)

1.1 數(shù)字類(lèi)型

  • 數(shù)字類(lèi)型(number)分為布爾霎挟、整數(shù)柬焕、浮點(diǎn)數(shù)和復(fù)數(shù)。

  • 布爾類(lèi)型(bool)為T(mén)rue(1)和False(0)的組合梭域。

bool1=True
bool2=False

注意:在Python2中是沒(méi)有布爾型的斑举,它用數(shù)字0表示False,用1表示True病涨。到Python3中富玷,把True和False定義成關(guān)鍵字了,但它們的值還是1和0既穆,它們可以和數(shù)字相加赎懦。

  • 整數(shù)類(lèi)型(int)為整數(shù)
int=20
  • 浮點(diǎn)數(shù)類(lèi)型(float)為浮點(diǎn)數(shù)。
float=2.2
  • 復(fù)數(shù)類(lèi)型(complex)為復(fù)數(shù)幻工,復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)型
complex=1+4j

1.2 數(shù)字類(lèi)型的方法

  • 運(yùn)算
# 數(shù)字類(lèi)型運(yùn)算
a = 1
b = 3
print(a + b)#加法
print(a - b)#減法
print(a / b)#除法
print(a * b)#乘法
print(a // b)#整除
print(a % b)#求余
print(a ** b)#乘方

輸出為:

4
-2
0.3333333333333333
3
0
1
1

在混合計(jì)算時(shí)励两,Python會(huì)把整型轉(zhuǎn)換成為浮點(diǎn)數(shù)。 例如:

a=1.0
b=2
print(a+b)

結(jié)果就是3.0了囊颅。

2.python3容器

  • python的容器分為序列当悔、映射以及集合。

2.1序列

  • 序列(sequence)中的每個(gè)元素都有自己的編號(hào)踢代。序列包括列表盲憎、元組、字符串等胳挎。

2.1.1 列表和元組

  • 列表和元組都是一種類(lèi)似的序列饼疙,區(qū)別列表可以修改,元組不能修改串远。
  • 列表(list)宏多,使用[,]建立列表
list1=['hello','world']
  • 元組(tuple),使用(,)建立元組,只含一個(gè)值的元組,必須加個(gè)逗號(hào)(,)澡罚;
t1=(1,2)
t2=1,2,3
t3=(1,)

2.1.2 字符串

  • Python中的字符串用單引號(hào)(')伸但、雙引號(hào)(")或三引號(hào)(三個(gè)單引號(hào)''')括起來(lái)。而單雙引號(hào)是為了去掉轉(zhuǎn)義字符\的留搔。字符串不能被改變更胖,即不能向字符串某位賦值。
#這種情況下是一樣的
a='str'
b="str"
c='''str'''
  • 單引號(hào)
# 這種情況下不需要轉(zhuǎn)義字符\
a='我"們"這個(gè)'
  • 雙引號(hào)
# 這種情況下不需要轉(zhuǎn)義字符\
a="let's go"
  • 三引號(hào)
# 這種情況下不需要轉(zhuǎn)義字符\
a='''我們"這"'個(gè)' '''
# 這種情況下保留換行
a='''我
     換
     行
     了'''

2.1.2.1 字符串方法

  • 字符串不發(fā)生轉(zhuǎn)義,使用r表示原始字符串
str="run\ner"
#這樣會(huì)輸出run
#          er
str=r"run\ner"
#這樣會(huì)輸出run\ner
  • 格式化
    1.字符串格式化使用字符串格式化操作符即百分號(hào)%來(lái)實(shí)現(xiàn)隔显。
str1='Hello,%s' % 'world.'

2.格式化操作符的右操作數(shù)可以是任何東西却妨,如果是元組,則如下:

strs=('Hello','world') #元組
str1='%s,%s' % strs

3.對(duì)數(shù)字進(jìn)行格式化處理,通常需要控制輸出的寬度和精度:

str1='%.2f' % 3.1415926 #精度2
str1='%10f' % 3.1415926 #字段寬10

2.1.3 序列通用方法

  • 索引
    索引值以 0 為開(kāi)始值括眠,-1 為從末尾的開(kāi)始位置彪标。
str1='Hello'
nums=[1,2,3,4]
t1=(123,234,345)
print(str1[0])
print(nums[1])
print(t1[2])

輸出為:

H
2
345
  • 分片
    分片操作用來(lái)訪問(wèn)一定范圍內(nèi)的元素。分片通過(guò)冒號(hào)相隔的兩個(gè)索引來(lái)實(shí)現(xiàn)掷豺。
nums='1234567890'
print(nums)
print(nums[1:5])
print(nums[1:])
print(nums[-3:-1])
print(nums[-3:]) 
print(nums[:]) #復(fù)制整個(gè)序列

輸出為:

1234567890
2345
234567890
89
890
1234567890

默認(rèn)步長(zhǎng)為1捞烟,可以對(duì)步長(zhǎng)進(jìn)行調(diào)節(jié)薄声。

print(nums)
print(nums[0:10])  # 默認(rèn)步長(zhǎng)為1 等價(jià)于nums[1:5:1]
print(nums[0:10:2])  # 步長(zhǎng)為2
print(nums[0:10:3])  # 步長(zhǎng)為3
print(nums[0:10:0])  #步長(zhǎng)為0
print(nums[-3:-1:-1])  # 步長(zhǎng)為-2

輸出為:

1234567890
1234567890
13579
1470
  • 序列相加
    序列相加只能相同類(lèi)型的序列進(jìn)行相加。
str1='Hello'
str2='world'
print(str1+str2)
lista=[1,2]
listb=[3,4]
print(lista+listb)

輸出為:

Helloworld
[1, 2, 3, 4]
  • 乘法
    使用*符號(hào)對(duì)序列進(jìn)行疊加题画。
str1='Hello'
print(str1*2)

輸出為:

HelloHello
  • 成員資格
    in運(yùn)算符會(huì)用來(lái)檢查一個(gè)對(duì)象是否為某個(gè)序列(或者其他類(lèi)型)的成員(即元素):
str1='Hello'
print 'H' in str1 
print 'h' in str1 

輸出為:

True
False
  • 長(zhǎng)度默辨、最小最大值
    通過(guò)內(nèi)建函數(shù)len、max和min可以返回序列中所包含元素的數(shù)量苍息、最大和最小元素缩幸。
str1='Hello'
print len(str1) 
print max(str1)
print min(str1)

輸出為:

5
o
H

2.2 字典

  • 字典是一種映射類(lèi)型,字典用"{ }"標(biāo)識(shí)竞思,它是一個(gè)無(wú)序的鍵(key) : 值(value)對(duì)集合表谊。
    鍵(key)必須使用不可變類(lèi)型,即數(shù)字衙四、字符串铃肯、元組。
    在同一個(gè)字典中传蹈,鍵(key)必須是唯一的押逼。
    代碼如下:
a={}
a[1]=1
a['a']='a'
a[(1,2)]=1
a[2]=set([1,2])
print(a)
b={'2':'a',3:3}
print(b)

輸出為:

{(1, 2): 1, 1: 1, 2: {1, 2}, 'a': 'a'}
{3:3,'2':'a'}

2.3 集合

  • 集合(set)是一個(gè)無(wú)序不重復(fù)元素的序列。
    會(huì)自動(dòng)刪除重復(fù)元素惦界。
    代碼如下:
seta=set([1,2,3])
setb={2,3}
print(seta,setb)

輸出為:

{1, 2, 3} {2, 3}

2.3.1 集合方法

a={1,2,3}
b={2,3,4}
print(a - b)     # a和b的差集
print(a | b)     # a和b的并集
print(a & b)     # a和b的交集
print(a ^ b)     # a和b中不同時(shí)存在的元素

輸出為:

{1}
{1, 2, 3, 4}
{2, 3}
{1, 4}

3.總結(jié)

  • 總結(jié)速查表格
類(lèi)型 子類(lèi)型 構(gòu)建方式 表達(dá)含義
數(shù)字類(lèi)型 bool布爾類(lèi)型 True False 判定True挑格、False
數(shù)字類(lèi)型 int類(lèi)型 a=2 整數(shù)
數(shù)字類(lèi)型 float a=2.0 浮點(diǎn)數(shù)
數(shù)字類(lèi)型 complex a=1+2j 復(fù)數(shù)
容器-序列 列表list a=[1,2] 可變的序列
容器-序列 元組tuple a=(1,2) 不可變的序列
容器-序列 字符串string a='abcd' 方便使用的序列
容器-字典 字典類(lèi)型dict a={'1':'a'} 主鍵唯一的鍵值對(duì)
容器-集合 集合類(lèi)型set a=set([a,b])或a={a,b} 元素不重復(fù)的集合
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市沾歪,隨后出現(xiàn)的幾起案子漂彤,更是在濱河造成了極大的恐慌,老刑警劉巖灾搏,帶你破解...
    沈念sama閱讀 218,640評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挫望,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡狂窑,警方通過(guò)查閱死者的電腦和手機(jī)媳板,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)泉哈,“玉大人蛉幸,你說(shuō)我怎么就攤上這事〈曰蓿” “怎么了奕纫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,011評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)烫沙。 經(jīng)常有香客問(wèn)我匹层,道長(zhǎng),這世上最難降的妖魔是什么锌蓄? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,755評(píng)論 1 294
  • 正文 為了忘掉前任又固,我火速辦了婚禮仲器,結(jié)果婚禮上煤率,老公的妹妹穿的比我還像新娘仰冠。我一直安慰自己,他們只是感情好蝶糯,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布洋只。 她就那樣靜靜地躺著,像睡著了一般昼捍。 火紅的嫁衣襯著肌膚如雪识虚。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,610評(píng)論 1 305
  • 那天妒茬,我揣著相機(jī)與錄音担锤,去河邊找鬼。 笑死乍钻,一個(gè)胖子當(dāng)著我的面吹牛肛循,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播银择,決...
    沈念sama閱讀 40,352評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼多糠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了浩考?” 一聲冷哼從身側(cè)響起夹孔,我...
    開(kāi)封第一講書(shū)人閱讀 39,257評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎析孽,沒(méi)想到半個(gè)月后搭伤,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,717評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袜瞬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評(píng)論 3 336
  • 正文 我和宋清朗相戀三年怜俐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吞滞。...
    茶點(diǎn)故事閱讀 40,021評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡佑菩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裁赠,到底是詐尸還是另有隱情殿漠,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評(píng)論 5 346
  • 正文 年R本政府宣布佩捞,位于F島的核電站绞幌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏一忱。R本人自食惡果不足惜莲蜘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評(píng)論 3 330
  • 文/蒙蒙 一谭确、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧票渠,春花似錦逐哈、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,936評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至杜窄,卻和暖如春肠骆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背塞耕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,054評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工蚀腿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扫外。 一個(gè)月前我還...
    沈念sama閱讀 48,224評(píng)論 3 371
  • 正文 我出身青樓莉钙,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親畏浆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子胆胰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 序列(如列表和元組)、映射(如字典)以及集合(set)是三類(lèi)主要的數(shù)據(jù)結(jié)構(gòu)(也稱為容器)刻获。 序列(列表蜀涨、元組和字符...
    又見(jiàn)傾心閱讀 260評(píng)論 0 0
  • 01-常量與變量 學(xué)習(xí)swift第一步打印Hello World print("Hello World") swi...
    iOS_恒仔閱讀 5,149評(píng)論 2 19
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,579評(píng)論 1 118
  • Python 是一種相當(dāng)高級(jí)的語(yǔ)言,通過(guò) Python 解釋器把符合語(yǔ)法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 1,908評(píng)論 0 3
  • 今天一早忙活公司的報(bào)價(jià)蝎毡,后聽(tīng)了益生菌的課件厚柳、峰姐點(diǎn)評(píng)邁向富足 下午見(jiàn)了個(gè)以前的鄰居,她現(xiàn)在在做微商沐兵,剛開(kāi)始還是很興...
    唐豆閱讀 134評(píng)論 0 0