這一節主要講序列,包含三種:字符串,列表,元組。
1 字符串
就是一系列字符。比如:
'this is string'
"this is string"
'這是字符串'
"這是字符串"
給一個變量賦值並打印出來
name = 'this is string' print(name)
this is string這個字符串是保存在內存的棧中的,有個地址,一般用十六進制的0x開頭表示,比如0x000003545,內存的地址跟我們生活中的門牌號相似。但是name是怎么取到這個字符串值得呢,name自身也是在棧中有個地址,里面保存了一個指向字符串this is string所在地址的指針。當我們調用print函數的時候就能顯示this is string
對字符串進行拼接
first_name = "jack" last_name = "ma" full_name = first_name + " " + last_name print(full_name)
直接使用操作符+來拼接字符串,輸出結果就是:jack ma
2. 列表
列表是由一系列按特定順序排列的元素組成。用方括號[]來表示列表,並用逗號來分隔其中的元素。
cars = ['bmw','benz','byd','ford','rowei'] print(cars)
輸出的結果是:
['bmw', 'benz', 'byd', 'ford', 'rowei']
如果要訪問其中的元素,使用下標就行。
從cars列表中取出第一個品牌的汽車
print(cars[0])
如果要取出榮威汽車,怎么弄,是第五個元素,但是程序是從0開始計數,而不是常規中的1開始,所以下標用4。當然,其他編程語言也是這樣設計的。
print(cars[4])
然而,最后一個元素取值也可以這樣
print(cars[-1])
兩者的輸出結果都是
rowei
不帶中括號,也不帶引號。
來個例子
message = "My first car is a " + cars[3] + " auto." print(message)
輸出結果是:
My first car is a ford auto.
接下來想在cars列表中新增個volvo(沃爾沃)
cars.append('volvo') print(cars)
print是打印輸出的意思,輸出的結果是:
['bmw', 'benz', 'byd', 'ford', 'rowei', 'volvo']
加在了列表的最后。但是我想加在榮威前面怎么弄
cars.insert(4, 'volvo')
insert就是插入一個指定的位置。
現在我們想把上汽榮威改成上汽名爵。
cars[4] = 'mg' print(cars)
--------------------------------------------------------
['bmw', 'benz', 'byd', 'ford', 'mg', 'volvo']
想把byd刪掉
cars.pop(2)
或者
cars.remove('byd')
使用print函數輸出結果
['bmw', 'benz', 'ford', 'mg', 'volvo']
3. 元組
上面列表的數據都是可以修改,還有一種不能修改的,像常量一樣,這種成為元組。
使用小括號()來表示,看起來像列表,用法跟列表也相似,只是不能改值。
rectangle = (100, 50) rectangle[0] = 200
這樣去修改第一個元素的值就會報錯了
Traceback (most recent call last): File "ma.py", line 43, in <module> rectangle[0] = 200 TypeError: 'tuple' object does not support item assignment
如果不能修改元素,也不能刪除元素,那就只能讀了。
for i in rectangle: print(i)
for循壞可以用來遍歷元組中的所有值。
100 50
相比於列表,元組是更簡單的數據結構。 如果需要存儲的一組值在程序的整個生命周期內都不變,可使用元組。
