Python數據類型詳解——列表


Python數據類型詳解——列表

在“Python之基本數據類型概覽”一節中,大概介紹了列表的基本用法,本節我們詳細學一下列表。

如何定義列表:在[]內以英文里輸入法的逗號,,按照索引,存放各種數據類型,每個位置代表一個元素。

回顧一下列表的特點

1、可存放多個值。

2、按照從左到右的順序定義列表元素,下標從0開始順序訪問,是有序的。

3、可修改指定索引位置對應的值,可變。

一、列表元素的增加操作

1、追加

append方法將數據追加到列表的尾部

names = ['Kwan', 'Kobe']
names.append('KK')
names.append('LL')
print(names)

2、插入

insert方法,可將數據插入任何位置

names = ['Kwan', 'Kobe', 'KK', 'LL']
names.insert(2, '小明')
print(names)

3、合並

extend方法,可以把另外一個列表的值合並進來

names = ['Kwan', 'Kobe', 'KK']
n = ['小明', '小紅']
names.extend(n)
print(names)

4、列表嵌套

names = ['Kwan', 'Kobe', 'KK']
names.insert(2, ['李白', 'sh'])
print(names)
print(names[2][1])

二、刪除操作

1、del 直接刪除

names = ['Kwan', 'Kobe', 'KK']
del names[1]
print(names)

2、pop

names = ['Kwan', 'Kobe', 'KK', 'LL']
names.pop()		# 括號里不加參數,默認刪除最后一個元素並返回被刪除的值
names.pop(1)	# 刪除指定索引的元素
print(names)

3、clear 清空

names = ['Kwan', 'Kobe', 'KK']
names.clear()
print(names)

三、修改操作

直接重新賦值即可

names = ['Kwan', 'Kobe', 'KK', "LL"]
names[1] = 'James'
names[3] = '小明'
print(names)

四、查找操作

index()方法用來查找對應元素的索引,count()方法用來計算指定元素的個數

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names.index('KK'))
print(names.count('Kwan'))

五、切片

切片就像切面包,可以同時取出元素的多個值。

語法:name[start : end]

names = ['Kwan', 'Kobe', 'KK', 'LL', '小明']
print(names[1:3])	# 不會包含索引為3的元素'LL'

注:切片的特性是顧頭不顧尾,即start對應索引的元素會被包含進去,但是尾部只會包含到end-1

1、倒着切片

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[-4:-1])

因為顧頭不顧尾的特性,此時並未將最后一個打印出來,如果想把最后一個也包含進來該怎么做呢?

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[-4:])	# 要取到最后一個,直接不寫左邊的參數即可

同理,要取到第一個值:

names = ['Kwan', 'Kobe', 'KK', '小明', 'Kwan','LL']
print(names[:4])	# 也可寫成names[0:4]

2、步長

通過設置步長,可以實現間隔取值

語法:names[start : end : step]

num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[0:7:2])	# 打印索引為0的元素到索引為6的元素,步長為2
print(num[::3])     # 打印全部元素,步長為3

3、列表反轉

通過把步長設置成負值,可達到列表反轉的效果

num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num[::-1])
print(num[::-2])

六、排序、反轉

1、排序

a = [34, 43, 65, 23, 12, 5]
a.sort()
print(a)

但是下面的排序結果該如何解釋呢?

names = ['Kwan', 'Kobe', 'KK', '@', '小明']
names.sort()
print(names)

答案全在下面這張表上:

2、反轉

使用reverse()方法

names = ['Kwan', 'Kobe', 'KK', '@', '小明']
names.reverse()
print(names)

七、列表循環

names = ['Kwan', 'Kobe', 'KK', '@', '小明']
for i in names:		# 也可以不用i,只要符合變量名規則都可以
    print(i)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM