1. 程式人生 > >python數據類型-列表創建和操作

python數據類型-列表創建和操作

列表創建 列表操作 python

列表創建和操作

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



本章成果

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

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




python數據類型-列表創建和操作