Python學習2 list學習

2021-08-16 23:44:55 字數 3159 閱讀 4286

序列都可以進行的操作包括索引,切片,加,乘,檢查成員。

python有6個序列的內建型別,但最常見的是列表和元組。

列表的資料項不需要具有相同的型別。

>>> list01 = ['runoob', 786, 2.23, 'john', 70.2]

>>> list02 = [123, 'john']

>>> names = ['a','b','c','d']

擷取

和大多數程式語言一樣,列表的第乙個元素的索引是0,而不是1。如果要輸出最後乙個元素可以使用-1,倒數第二個可以使用-2,以此類推。

>>> 

print names[0]

>>>

print names[-1]

>>>

print names[0:3]ad

['a', 'b', 'c']

修改/新增/刪除

修改:其實就是對元素的重新賦值

>>> names[0]='a'

>>> print(names)

['a', 'b', 'c', 'd']

>>> print(names)

['a', 'b', 'c', 'd', 'e']

刪除:pop,remove,del

1) pop()

>>> names.pop()

'e'

如果沒有指定下標,則缺省會刪除最後乙個元素

>>> names.pop(2)

'c'

2) remove()

>>> names.remove('e')

>>> names

['a', 'b', 'c', 'd']

3)del

>>> 

del names[4]

>>> names

['a', 'b', 'c', 'd']

查詢元素所在位置:index()

>>> names.index('c')

2

統計元素的次數:count()

>>> names.count('d')

2反轉:reverse()

>>> names.reverse()

>>> names

['d', 'c', 'b', 'a']

清空:clear()

>>> names.clear()

>>> names

插入: insert(索引,字串)

>>> names.insert(0,'hello')

>>> print(names)

['hello', 'a', 'b', 'c', 'd']

排序:sort()按照ascii碼來進行排序

>>> names.sort()

>>> print(names)

['a', 'b', 'c', 'd', 'hello']

拼接兩個列表:extend()

>>> names = ['a','b','c','d']

>>> place = ['o','p','q']

>>> names.extend(place)

>>> print(names)

['a', 'b', 'c', 'd', 'o', 'p', 'q']

>>> names = ['a','b','c','d']

>>> names1 = names

>>> names1[0] = 'a'

>>> print(id(names),' ',names)

>>> print(id(names1),' ',names1)

140132297498568 ['a', 'b', 'c', 'd']

140132297498568 ['a', 'b', 'c', 'd']

我們發現,修改names1影響了names,這是因為通過id函式發現,二者的id是相同的。(此時相當於共用乙個記憶體空間)。

>>> names = ['a','b','c','d']

>>> names1 = names[:]

>>>

#names1 = list(names) #效果同上

>>>

#names1 = [i for i in names] #效果同上

>>>

#names1=copy.copy(names) #效果同上

>>> names1[0] = 'a'

>>> print(id(names),' ',names)

>>> print(id(names1),' ',names1)

140165287773768 ['a', 'b', 'c', 'd']

140165287334472 ['a', 'b', 'c', 'd']

>>> 

import copy

>>> names = ['a','b','c','d']

>>> names1=copy.deepcopy(names)

>>> names1[0] = 'a'

>>> print(id(names),' ',names)

>>> print(id(names1),' ',names1)

140635533511880 ['a', 'b', 'c', 'd']

140635533584200 ['a', 'b', 'c', 'd']

二者id不同,深複製後的兩個變數則指向的是兩個不同的物件。

STL學習筆記2 list

list 雙向列表 1 不使用連續的記憶體空間這樣可以隨意地進行動態操作 2 可以在內部任何位置快速地插入或刪除,當然也可以在兩端進行push和pop 3 不能進行內部的隨機訪問,即不支援 操作符和vector.at 大多數函式和vector的類似,這裡就不解釋了,有幾個不一樣的如下 merge 合...

python基礎學習2 list與tuple

列表list,字典是可變資料型別,列表項有順序 字串,元組tuple是不可變型別 迴圈列表 import random list1 pens bags dogs cows for i in range len list1 print index str i is list1 i print list...

python快速入門(2)List

二.list結構 1.定義list型別 months print type months 新增什麼值都行 months print type months print months 如何查詢list當中的元素呢?3.取list中元素,定義index 索引 索引 index 從0開始 例如 直接通過i...