列表(list)是python中重要的數(shù)據(jù)類型搏予,有點類似其它語言的數(shù)組且警,python中的列表可以是任意對象的集合
怎么定義一個列表
可以在[ ]中使用逗號隔開對象來定義列表
a=['Hello','world']
print(type(a))
# 輸出 list
在python中列表很靈活粉捻,具有以下特點
- 可以包含任意對象
a=['hello',1,2,True,[0,'',1.234]]
print(a)
# 輸出
['hello', 1, 2, True, [0, '', 1.234]]
- 可以無限嵌套
a=[['a','b','c',['d','e',['f',['g',['h']]]]]]
print(type(a))
# 輸出 list
- 列表是有序的
試想一下[1,2,3]和[3,2,1]相等嗎
a=[1,2,3]
b=[3,2,1]
print(a==b)
# 輸出 False
print(a is b)
# 輸出 False
- 可以通過索引和切片的方式訪問列表中的元素
列表和string一樣可以通過索引和切片的方式里面的元素,在列表中也可以使用負數(shù)的方式訪問
a=[1,2,3,'Hello world']
print(a[0])
# 輸出 1
print(a[-1])
# 輸出 Hello world
print(a[-1][:5])
# 輸出 Hello
print(a[:2])
# 輸出 [1,2]
print(a[3:4])
print(a[-1:])
# 上面的效果一樣
# 輸出 ['Hello world']
小思考
# 怎么獲取 7
a=[1,2,3,[4,5,[6,[7]]]]
.
.
.
print(a[3][2][1][0])
或
print(a[-1][-1][-1][0])
在列表中添加修改元素
列表是可變的斑芜,這意味著我們可以對列表里的元素修改肩刃、添加、刪除
- 通過索引和切片的方式修改列表
a=[1,2,3,4,5,6]
a[1]=a[1]+1
print(a)
# 輸出 [1, 3, 3, 4, 5, 6]
a[-1]=10
print(a)
# 輸出 [1, 3, 3, 4, 5, 10]
a[:3]=['a','b','c']
# 輸出 ['a', 'b', 'c', 4, 5, 10]
- 通過append( )杏头、extend( )盈包、+ 、insert( )添加元素
上訴的4種方法都可以給列表添加元素醇王,但是他們有什么不同呢呢燥?我們通過代碼來演示一下
使用append 添加元素
a=[1,2,3,4]
a.append(5)
print(a)
# 輸出 [1,2,3,4,5]
a.append([6,7,8])
print(a)
# 輸出 [1, 2, 3, 4, 5, [6, 7, 8]]
使用extend 添加元素
a=[1,2,3,4]
a.extend(5)
# 輸出 [1,2,3,4,5]
a.extend([6,7,8])
# 輸出 [1,2,3,4,5,6,7,8]
使用 + 添加元素
a=[1,2,3,4]
a=a+5
# 這樣寫會報錯 因為一個list不能與int相加
a=a+[5] 或者簡寫成a+=[5]
print(a)
# 輸出 [1,2,3,4,5]
a+=[6,7,8]
print(a)
# 輸出 [1, 2, 3, 4, 5, 6, 7, 8]
使用insert 添加元素
a=[1,2,3,4]
a.insert(4,5)
print(a)
# 輸出 [1,2,3,4,5]
a.insert(1,10)
print(a)
# 輸出 [1,10,3,4,5]
a.insert(5,[6,7,8])
print(a)
# 輸出 [1,10,3,4,5,[6,7,8]]
通過上面的演示我們可以很清楚的看出append( )、insert( )、extend( )、+ 之間的區(qū)別伦吠,實際使用過程中可以根據(jù)自己的實際情況,選擇適當?shù)姆椒?/p>
- 通過del力试、clear( )、remove( )排嫌、pop( ) 刪除list中的元素
使用del刪除元素
a=[1,2,3,4]
del a[0]
print(a)
# 輸出 [2,3,4]
del a[0:2]
print(a)
# 輸出 [4]
使用clear( ) 刪除元素
a=[1,2,3,4]
a.clear()
print(a)
# 輸出 []
使用remove( ) 刪除元素
a=['a','b','c','d']
a.remove('d')
# 輸出 ['a', 'b', 'c']
使用pop( ) 刪除元素
a=['a','b','c','d']
a.pop()
# 返回 'd'
# 輸出 ['a', 'b', 'c']
a.pop(2) 或 a.pop(-1)
# 返回 'c'
# 輸出 ['a', 'b']
通過上面的案例我們可以總結出以下幾點
- del 可以通過索引和切片刪除列表中的元素
- clear 可以清空列表
- remove 可以刪除指定列表中指定的元素
- pop 也可以通過索引刪除列表中的元素畸裳,而且會返回被刪除的元素
列表中常用的方法
index( ) 返回元素的索引
a=['a,'b','c']
a.index('b')
print(a)
# 輸出 1
count( ) 統(tǒng)計列表中的指定元素數(shù)量
a=['a','b','c']
a.extend('a')
print(a.count('a'))
# 輸出 2
sort( ) 給列表中的元素排序
a=[3,4,2,5,6,22,54,78,1,0]
print(a.sort())
# 輸出 [0, 1, 2, 3, 4, 5, 6, 22, 54, 78]
# 降序
print(a.sort(reverse=True))
# 輸出 [78, 54, 22, 6, 5, 4, 3, 2, 1, 0]
sort( )不返回任何值,而 sorted( )返回可迭代列表淳地。
a=[3,4,2,5,6,22,54,78,1,0]
sorted(a)
# 返回 [0, 1, 2, 3, 4, 5, 6, 22, 54, 78]
sorted(a, reverse=True)
# 返回 [78, 54, 22, 6, 5, 4, 3, 2, 1, 0]
print(a)
# 輸出 [3, 4, 2, 5, 6, 22, 54, 78, 1, 0]
reverse( ) 給列表中的元素反向排序
a=['d', 3, 5, 1, 'a']
a.reverse()
print(a)
# 輸出 ['a', 1, 5, 3, 'd']
更多內(nèi)置函數(shù)
方法 | 描述 |
---|---|
all( ) | 判斷列表中的所有元素是否全部是true |
any( ) | 判斷列表中的任意元素是否包含true |
len( ) | 返回列表的長度 |
max( ) | 返回列表元素中最大值 |
min( ) | 返回列表元素中最小值 |
sum( ) | 返回列表元素的總和 |
怎么判斷一個元素是否存在于列表中
- 第一種方法遍歷
a=[1,2,3,4,5]
for x in a:
if x==3
print(True)
- 通過in或者not in實現(xiàn)
a=[1,2,3]
print(1 in a)
# 輸出 True
print(5 not in a)
# 輸出 True
字符串和列表之間的相互轉化
字符串轉列表
a='1,2,3,4,5'
b=a.split(',')
print(a)
# 輸出 ['1', '2', '3', '4', '5']
a='A|B|C|D|E'
b=a.split('|')
print(b)
# 輸出 ['A','B','C','D','E']
list轉字符串
a=['1', '2', '3', '4', '5']
b=a.join(',')
print(b)
# 輸出 '1,2,3,4,5'
a=['A','B','C','D','E']
b=a.join('|')
print(b)
# 輸出 'A|B|C|D|E'
通過上面的這些操作我們可以看出python中的列表很靈活也很強大怖糊,官方也為列表提供了很多內(nèi)置方法,大家也不需要死記硬背颇象,先大致有個了解伍伤,用到的時候查查手冊,多敲敲代碼自然就記住了
總結:本篇文章主要分享了python中列表的創(chuàng)建方法以及列表的一些基本操作遣钳,重點需要掌握列表的基本特性和一些內(nèi)置方法