在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...