Python數據類型詳解——列表

Python數據類型詳解——列表

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

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

回顧一下列表的特色code

一、可存放多個值。blog

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

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

1、列表元素的增長操做

一、追加class

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

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

二、插入循環

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

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

三、合併

extend方法,能夠把另一個列表的值合併進來

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

四、列表嵌套

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

2、刪除操做

一、del 直接刪除

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

二、pop

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

三、clear 清空

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

3、修改操做

直接從新賦值便可

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

4、查找操做

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

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

5、切片

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

語法:name[start : end]

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

注:切片的特性是顧頭不顧尾,即start對應索引的元素會被包含進去,可是尾部只會包含到end-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]

二、步長

經過設置步長,能夠實現間隔取值

語法: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

三、列表反轉

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

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

6、排序、反轉

一、排序

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

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

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

答案全在下面這張表上:

二、反轉

使用reverse()方法

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

7、列表循環

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

相關文章
相關標籤/搜索