python資料型別-列表建立和操作

coyan發表於2021-09-09

列表建立和操作

a)  建立列表

b)  基本操作

c)  遍歷

與其說  列表  它是一個資料型別,用起來 更像一個靈活多變的資料儲存方案

 

建立列表

建立列表例子

player = 'mao 80 50'
  
mao = '100 60 0'
  
zou = '100 100 100'
  
player1 = ['mao',100,50]
  
mao = [100,60,0]
  
type (mao)
list
  
list1 = []
  
type(list1)
list

達含義

先定義一個 字串型別的資料 用來儲存 遊戲 使用者名稱 --生命 --血值

 分別為'mao 80 50 '

比如 mao 是角色名字 80生命值 50是等級

是可以在一個大字串當中,有效的分段儲存,

但是字串取資料的時候 ,就會就問題

比如生命力是 100 可是被攻擊後就就80血   

從字串取資料的時候要分片,也就是切割。透過索引的形式,而這裡用字串取值的時候 每個角色取值的名字 長短不一,所以幾個字元代表名字 ,是不可以的,血的值 也是經常變換的 所以顯然字串該被淘汰了。

換一種資料 我們儲存使用者的成績

 

如 mao 的 成績是 '100 -60 -0'

zou的成績 為全是滿分'100--100--100' 分

把這個方向放大 ,比如 這個班裡 有60個同學

那你就有60個這個的字串。

那你就要注意每個字串的長度 每個元素的長度,都是不一樣的

所以不能方便的把裡面的值 取出來。

這裡時候就要用到列表了[ ],

資料型別 列表 就有它的用武之地了。

 

上面的都是幾組元素 相對於某個角色來說 這是它的 三個元素 ,相對某個同學來說這是它的三個評分

所以這個時候 就要用到 列表儲存這樣的資料

 

列表儲存 用 方括號 隔開就行了[]是什麼值就 存什麼值

理論上 列表是 可以儲存 物件的  ,如 字串 數字

切忌 變數的名字 不要用關鍵字

 

player1 用列表的方式 表達 = [‘milo’角色名稱,100的生命力 50的攻擊值]

milo 列表的方式 表達 = [100,60,0]

檢視milo的值 為 list 列表形式

ilst1 = [] 代表 等於 一個空的列表 後面 用到的時候可以選擇帶入值 進去

type (ilst1) 檢視型別 ,空的也是為列表的。

 

記住不能定義變數名字為list 不能為 關鍵字

如果你定義一個為 list的話,那你的函式就用不了,

比如字串 轉換成 整數的時候 會到函式,所以這裡面 變數的名字一定要注意

建立列表無非是 建立幾個元素,用逗號隔開。裡面可以是任何一個值 甚至是函式 一個類。

操作列表

列表的操作跟 字串操作很相似

不管有幾個值,反正是由逗號隔開的,列表內一共為12 3 個值

字串 我們 定義好了之後,都是是從0開始 0123456 每一個字元,

每一個字元都有個索引,索引是on0開始的,至於為什麼從0開始

科普 是因為最早期的時候,計算機都為0  1,儲存空間寶貴,每一個位元組(byte)都是要加以利用,最小的都是從0開始,0不能浪費。從那個時候開始,計算機裡用0變成了一個傳統 一直到現在。

取列表裡面的值方法,因列表的值的方法 和字串值的方法都是一樣的。

應為 字串 和列表 在這裡面 統稱叫做序列型別的資料 

字串可以透過索引取值,列表也可以

透過列表取值例子

 mao
[100, 60, 0]
  
player1
['mao', 100, 50]
  
player1[0]
'mao'
  
player1[1]
100
  
player1[:3]
['mao', 100, 50]
  
player1[:2]
['mao', 100]


表達含義

mao列表

列表包含100,60,0

 

Player1列表

包含’mao’,100,50

 

透過索引的方式取player1列表值0

返回值為’mao’

 

透過索引的方式取player1列表值0

返回值為100

 

透過縮影的方式取值player1[:3]結束值到3

返回列表類一直到元素3的值 ’mao’,100,50]

 

透過縮影的方式取值player1[:2]結束值到2

返回列表類一直到元素2的值 [’mao’,100]




列表拼接

mao + player1
[100, 60, 0, 'mao', 100, 50]
  
mao * 3
[100, 60, 0, 100, 60, 0, 100, 60, 0]


表達含義

列表mao + 列表player1

兩個列表相加起來 就是一個大列表

返回值 為兩個列表拼接到一起成為一個大的列表。

 

列表 mao * 3

返回值 mao列表裡面的值 重複3的列表

 

列表的操作 可以跟字串 去類比的記憶。


提到一個詞 序列

列表跟字串一樣都是有序的排列,都叫做序列

 



編列列表

如果想把兩個列表裡面的值 全部取出來。

在字串裡面可以 用 for 迴圈 迭代編列 把 值取出來

既然列表跟字串的操作都是相似的 列表可以用


編列例子

for i in '128r':
     print(i)
  
1
2
8
R
  
  
for i in mao:
     print(i)
  
100
60
0
  
In [23]: mao
Out[23]: [100, 60, 0]


表達含義

for 迭代取字串裡面的值

迴圈送代列印出來

1

2

8

R

 

 

下面是列表的遍歷表示方法

把每一個值都取出來

For 迴圈送代 mao 列表

迴圈送代列印值

100

60

0



本章成果

知道建立列表,操作列表索引的概念。類比字串來記憶

列表的操作 都是根據 資料儲存方式來進行的操作

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2236/viewspace-2802488/,如需轉載,請註明出處,否則將追究法律責任。

相關文章