資料型別之列表

2022-07-21 13:00:22 字數 3774 閱讀 2475

一、列表簡介:

序列是python中最基本的資料結構。序列中的每個元素都索引,第乙個索引是0,

以逗號作為分割符。

二、列表的方法:

0、建立列表:

names = ['

a','

b','

c','d'

]e')

>>>names

['a', '

b', '

c', '

d', 'e'

]2、刪除: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'

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

>>> names.index('c'

) 2

4、統計元素的次數:count()d'

) >>> names.count('d'

) 2

5、反**reverse()

>>>names.reverse()

>>>names

['d', '

c', '

b', 'a'

]6、清空:clear()

>>>names.clear()

>>>names

7、插入:insert()

>>> names.insert(2,'

devilf')

>>>names

['a', '

b', '

devilf

', '

c', 'd'

] 還有其他的插入方法:

>>> names[3] = '

lebron

' >>>names

['a', '

b', '

devilf

', '

lebron

', 'd'

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

>>> names.insert(4,'&&'

) >>>names

['a', '

b', '

d', '

devilf

', '

&&', '

lebron']

>>>names.sort()

>>>names

['&&

', '

a', '

b', '

d', '

devilf

', '

lebron']

9、拼接兩個列表:extend()

>>>names.extend(place)

>>>names

['&&

', '

a', '

b', '

d', '

devilf

', '

lebron

', '

beijing

', '

shandong

', '

usa'

]10、對列表進行切片處理

1)列出所有的元素

>>>names[::]

['&&

', '

a', '

b', '

d', '

devilf

', '

lebron

', '

beijing

', '

shandong

', '

usa'

] 2)列出最後乙個元素,從中間位置開始,列出後面所有的元素

>>> names[-1]

'usa

' >>> a = int(len(names)/2)

>>>names[a:]

['devilf

', '

lebron

', '

beijing

', '

shandong

', '

usa'

]11、複製:copy()

>>>names.copy()

['&&

', '

a', '

b', '

d', '

devilf

', '

lebron

', '

beijing

', '

shandong

', '

usa']

三、深淺複製

1.賦值:資料完全共享(= 賦值是在記憶體中指向同乙個物件,如果是可變(mutable)型別,比如列表,修改其中乙個,另乙個必定改變

示例:l1 = [1,5,'

for'

] l2 =l1

'while')

print

(l2)

結果:[1, 5, '

for', '

while']

2.淺複製:淺拷貝:資料半共享(複製其資料獨立記憶體存放,但是只拷貝成功第一層)

示例:l1 = [1,'

for',['

funtion

','while']]

l2 =copy.copy(l1)

print

(l2)

l2[2][1] = '

true

'print

(l1)

結果:[1, '

for', ['

funtion

', '

while']]

[1, '

for', ['

funtion

', '

true']]

如上**,l2淺拷貝了l1 ,之後l2把其列表中的列表的元素給修改,從結果看出,l1也被修改了。但是僅僅修改l1列表中的第一層元素,卻並沒有影響l2。

3.深拷貝:資料完全不共享(複製其資料完完全全放獨立的乙個記憶體,完全拷貝,資料不共享)

注:深拷貝就是完完全全複製了乙份,且資料不會互相影響,因為記憶體不共享。

四、列表去重

方法一:

用內建函式set:

list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9]

list2 =list(set(list1))

方法二:

通過迴圈遍歷

list1 = [1, 2, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9]

list2=

for i in

list1:

ifnot i in

list2:

兩種方法輸出結果一致

[1, 2, 3, 4, 5, 6, 7, 8, 9]

python資料型別之列表

li print li,type li 輸出結果 li 1,2.2,true,hello print li,type li 輸出結果 1,2.2,true,hello li 1,2,3,false,python 1,2,3,4,5 print li,type li 輸出結果 1,2,3,false,...

Python資料型別之列表

print 新增後的list12 list12 extend 在末尾一次性在另乙個列表中的多個值 list13 1,2,3 list13.extend 4,5,6 list13.extend list12 print list13 insert a,b 在指定下標a新增乙個元素b,不覆蓋元素,原資料...

Python資料型別之列表

所謂的列表就像乙個容器,你可以對列表中的東西進行增刪改查,列表是可變的,但是元組是不可變的 coding utf 8 列表的增刪改查 listman name oliver age 13 male print 原始列表 print listman 增加 height 180 print 新增身高後的...