close

一、串列(list)

1)

就如上篇所言,串列要自己訂個名字,括號內就是你想要的元素

例如: g=[1,2,3,4]

g[0]就是list裡的第一個元素的意思,也就是1

g裡全部就只有4個元素,也就是到g[3],超過就會顯示error

 

當然一個串列裡面的元素不一定要同屬性,自己想要包什麼東西在裡面都可以,也可以集合裡面再有一個集合

例如: g=[30,'seafood',['a','b','c']]

這時的g[0]就是30

g[2]就是['a','b','c']

 

 

2) 修改

如果想要知道讚嘆seafood在g的哪一個位置,可以使用index(),前面擺你定義的名字

>>> g.index('seafood')

知道了seafood的位置,不想要再看到seagood,也可以各別修改

>>> g[1]='jesus'

* g[1]就是list名字為g,g裡的第1個位置,也就是實際的第二個位置(記得python是從0開始的嗎?

>>> g
[30, 'jesus', ['a', 'b', 'c']]

 

 

3) 新增新元素

g現在只有3個元素,如果想插入其他元素,可以用修改的方式,只是變成新增,即

g[3:] = ['look',3,'small']

*當然可以g[3:5],但python會自行判斷你要插入幾個來依此排序,所以g[3:]也是一個很好的表達方式

 

也有另一個insert()方法,看想要在哪個地方插入新元素

例如我想要在python位置3的地方插入'you',即

g.insert(3,'you')

 

 

二、包容

指的是用串列內的元素,建立新的串列(聽起來蠻猛的,個人覺得有點像排列組合?

>>> apple = ['red','green']

>>> count = [1,2,3,4]

>>> [ (s,t) for s in apple for t in count ]

[('red', 1), ('red', 2), ('red', 3), ('red', 4), ('green', 1), ('green', 2), ('green', 3), ('green', 4)]

*注意要有中括號,否則會有error,也是小細節

有依序配對的感覺,如果前後的for順序顛倒,就會變成 [(1,'red'),(2,'green'),....,(4,'red'),(4,'green')]

其他的再自己配對看看,都會有不一樣的排列結果喔

 

 

三、其他內建

有一些其他的分類,有些有用有些很多餘(本人意見不代表整體)

q=[1,2,2,4,5]

1)append(object):

在結尾加上新物件,即

>>> q.append([88,77])

[1, 2, 2, 4, 5, [88, 77]]

 

2)extend(list):

將list加到list,變成好長一串list的感覺

*是list不是object

>>> q.extend([88,77])

[1, 2, 2, 4, 5, [88, 77], 88, 77]

 

3)count(value):

計算你元素值value的數目,即

>>> q.count(2)

*2這value在q裡有2個

 

4)index(value):

你想知道的元素是在list裡的第幾個位置

>>> q.index([88,77])

5

 

5)Insert()

6)pop(index):

index就是list的元素位置,輸入後便代表你想刪除該位置的數,為填入則欲設最後位置的數

例如,現在的q目前為[1, 2, 2, 4, 5, [88, 77], 88, 77]

a)

>>> q.pop()

77 ((最後一位置值為77,表示77被刪除

q=[1, 2, 2, 4, 5, [88, 77], 88]

b)

>>> q.pop(5)

[88, 77] ((python裡第五個位置值是[88, 77],[88, 77]則被刪除

q=[1, 2, 2, 4, 5, 88]

 

7)remove(value):

和pop()不一樣的地方是,pop()擺放為index,也就是你想要刪掉的值它的位置,如果pop(4),就代表第四個位置的值會被刪掉

remove()擺放為value,remove(4),就是如果list裡有4這個value會被刪掉

>>> q.remove(4)

q=[1, 2, 2, 5, 88]

 

8)sort():

顧名思義就是依照大小順序排列(好SAS哈哈 

e=[88,77,55,66,2,8,5,0]

>>> e.sort()

[0, 2, 5, 8, 55, 66, 77, 88]

*如果有不能比較的,ex:'apple',就會出現error哦

 

 

##我是python初學者,其實這些是我的筆記,在書籍上我覺得重要or有時候會忘記的部分,單純想說公開讓大家一起學習並討論。

arrow
arrow
    文章標籤
    串列 python
    全站熱搜

    v777007 發表在 痞客邦 留言(0) 人氣()