Python菜鳥學習手冊04 序列與詞典

2021-06-27 22:00:01 字數 4039 閱讀 3322

在python中最基本的資料結構是序列,序列中的每個元素被分配了乙個序號——即元素的位置,叫做索引。第乙個索引是0,第二個是1,而倒數第乙個元素可以標記為-1,倒數第二個為-2以此類推。

序列的元素可以是之前講的所有基礎資料型別,也可以是另乙個序列,還可以是之後我們將要將的物件。

序列最常用的有兩類,元組(tuple)和列表(list)。兩者的區別是,列表可以修改,而元組不行。

>>> student1=("霸天虎","男",19)      #student1就是元組

>>> student1 #在直譯器中輸入變數名稱,可以顯示變數值

('霸天虎', '男', 19)

>>> student2=["湯姆貓","男",22]      #student2就是列表

>>> student2

['湯姆貓', '男', 22]

>>> student3=("王尼瑪","男","未知",["腦袋大","脖子短","屁股圓"])   #在序列中的元素也是序列

>>> student3

('王尼瑪', '男', '未知', ['腦袋大', '脖子短', '屁股圓'])

>>> student1[0]            #顯示元組student1的第乙個元素

'霸天虎'

>>> student1[-1] #顯示元組student1的最後乙個元素

19

>>> student3[-1][0]        #顯示元組student3最後乙個元組元素中的第乙個元素

'腦袋大'

>>> student3[-1][0][0] #顯示元組student3最後乙個元組元素中的第乙個元素字串中的第乙個字元

'腦'

1.1分片

使用索引訪問的是

單個元素,而使用分片訪問的是

一坨元素

基本樣式

[下限:上限:步長],步長省略預設步長為1.

>>> numbers=[1,2,3,4,5,6,7,8,9]

>>> numbers[0:3] #顯示從第乙個(包括第乙個)到第三個(包括第三個)之間的元素,類似for(int i=0,i<3,i++)

[1, 2, 3]

>>> numbers[8:11]                      #顯示第9個到第11個元素,因為沒有第11個,所以只輸出第9個元素

[9]>>> numbers[-3:-1] #顯示末第三到末第乙個元素

[7, 8]

>>> numbers[-1:-3] #如果順序寫反,不會輸出元素

>>> numbers[:3]                        #如果索引空缺,則預設索引兩端

[1, 2, 3]

>>> numbers[-3:]

[7, 8, 9]

>>> numbers[7:]

[8, 9]

>>> numbers[0:5:2]                     #顯示第1個到第5個元素,且步長為2

[1, 3, 5]

>>> numbers[::3]                       #步長3,從左向右輸出

[1, 4, 7]

>>> numbers[::-1]                      #步長為1,從右向左輸出

[9, 8, 7, 6, 5, 4, 3, 2, 1]

元組不可修改,而列表可以修改。

>>> student1[0]="擎天柱"                         #給元組student1第乙個元素重新賦值,結果報錯

traceback (most recent call last):

file "", line 1, in student1[0]="擎天柱"

typeerror: 'tuple' object does not support item assignment

>>> student2[0]="紙巾" #給列表student2第乙個元素複製,沒有問題

>>> student2

['紙巾', '男', 22]

>>> ["王小明"]+["男"]                            #序列的加法

['王小明', '男']

>>> a=["王大頭","男"]*11                         #序列的乘法

>>> a

['王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男', '王大頭', '男']

student3=("王尼瑪","男","未知",["腦袋大","脖子短","屁股圓"])

for a in student3:

print(a)

輸出

王尼瑪男未知

['腦袋大', '脖子短', '屁股圓']

>>>dic =           #tom是鍵,11是值
詞典和表類似的地方,是包含有多個元素,每個元素以

逗號分隔。但詞典的元素包含有兩部分,

鍵和值,常見的是以

字串來表示鍵,也可以使用數字或者真值來表示鍵(不可變的物件可以作為鍵)。值可以是

任意物件。鍵和值兩者一一對應。

與列表和元組不同的是,詞典的元素沒有順序。你不能通過下標引用元素。詞典是通過

鍵來引用。

dic = 

print(dic['tom'])

dic['tom'] = 30

dic['王尼瑪']=250                      #可以通過這種形式向詞典中新增元素

print(dic)

輸出結果

11

dic = 

for key in dic:

print(key,dic[key])

輸出

lily 100

sam 57

tom 11

1.在初始化序列時,單個元素的排列仍是排列,單個元素的元組不是元祖。

>>> ("dd")

'dd' #不是元組

>>> ["dd"]

['dd']

2.其實tuple、list是python中的兩個"類」。至於什麼是類,之後我會提到

3.小括號是元組,中括號是列表,大括號是詞典

python菜鳥學習手冊03----運算子與表示式

python菜鳥學習手冊05----控制流

Python學習手冊 第4版 第04天

數字 複數有理分數 想起了初中,有沒有 無窮的整數精度 2 8 16進製制 0b001 0o12 0x222 oct bin hex可以對數字進行轉換,對比c 來說太簡單明瞭了 as integer radion is integer lambda表示式,我在使用c 11時,盡量不使用它,現在。x ...

Python菜鳥學習手冊03 運算子與表示式

python的運算子和其他語言類似。在python的直譯器中,你可以互動地使用直譯器來進行計算。例如輸入 222 222 直譯器會直接顯示結果 444 運算子名稱 說明例子 加 兩個物件相加 3 5得到8。a b 得到 ab 減 得到負數或是乙個數減去另乙個數 5.2得到乙個負數。50 24得到26...

菜鳥python學習

python中單引號和雙引號的作用相同,使用三引號 或 可以指定乙個多行字元 word 字串 sentence 這是乙個句子 paragraph 這是乙個段落,可以由多行組成 python可以在一行中寫多行,句子直接用分號連線 import sys x runoob sys.stdout.write...