Python基礎 列表和元組
列表:
列表是一個有序的,可修改的,元素以逗號分割,以中括號包圍的序列。
因為列表可以修改,所以我們可以通過列表的索引來修改列表。
格式:變數名= [元素1,元素2,元素3,...]
作用:儲存多個數據
1.檢視列表的型別
1 |
|
>>> name = ["Eric","Mary","Tom"] |
2.通過索引獲取列表中的元素:
lst = [1, 2.34, 'hello', False]
num = lst[1]
print(num)
輸出結果: 2.34
3.使用for迴圈 遍歷列表每一個元素
lst = [1, 2.34, 'hello', False]
for i in lst:
print(i)
輸出結果: 1
2.34
hello
False
4.列表的增刪查改:
列表的新增
|
append |
追加,在列表的尾部加入指定的元素 |
|
extend
|
將指定序列的元素依次追加到列表的尾部(合併),不會去重複內容 |
|
insert |
將指定的元素插入到對應的索引位上,注意負索引倒序插入,超過索引就會在末尾插入 |
列表的刪除 |
pop |
彈出,返回並刪除指定索引位上的資料,預設刪除索引為-1的資料(從右向左刪除) |
|
remove |
從左往右刪除一個指定的元素 |
|
del |
刪除整個列表或列表的資料,del是python內建功能,不是列表獨有的 |
列表的查詢 注:列表沒有find方法 |
count |
計數,返回要計數的元素在列表當中的個數 |
|
index |
查詢,從左往右返回查詢到的第一個指定元素的索引,如果沒有找到,報錯 |
列表的排序 |
reverse |
順序倒序 |
|
sort |
按照ascii碼錶順序進行排序 |
append:
lst = ['悟空', '八戒', '唐僧']
lst.append(1,'白龍馬')
print(lst)
輸出結果: ['悟空', '八戒', '唐僧','白龍馬']
insert:
lst = ['悟空', '八戒', '唐僧']
lst.insert(1,'白骨精')
print(lst)
輸出結果: ['悟空','白骨精', '八戒', '唐僧']
extend:
lst = ['悟空', '八戒', '唐僧']
lst1 = ['宋江', '李逵', '悟空']
lst.expend(lst1)
print(lst)
輸出結果:
['悟空', '八戒', '唐僧','宋江', '李逵', '悟空']
列表之間也可以相加,將所有元素放入到一個新的列表中,並且不會自動去重
lst2 = lst + lst1
print(lst2)
輸出結果: ['悟空', '八戒', '唐僧','宋江', '李逵', '悟空']
5.刪除:
pop()
lst = ['悟空', '八戒', '唐僧']
lst.pop(0)
print(lst)
輸出結果: ['八戒', '唐僧']
remove()
lst = ['悟空', '八戒', '唐僧']
lst.remove('八戒')
print(lst)
輸出結果:['悟空', '唐僧']
clear()
lst = ['悟空', '八戒', '唐僧']
lst.clear()
print(lst)
輸出結果: [ ]
del :
lst = ['悟空', '八戒', '唐僧']
del lst #del 刪除整個列表或列表的資料,del是python內建功能,不是列表獨有的
# # 列表的查詢
print(lst)
輸出結果:
6.修改操作:
lst = ['悟空', '八戒', '唐僧']
lst[0] = '白龍馬'
print(lst)
輸出結果: ['白龍馬', '八戒', '唐僧']
7.查詢操作:
count() index()
lst = ['悟空', '八戒', '唐僧', '悟空']
ret = lst[0]
print(ret)
num = lst.count('八戒')
print(num)
num1 = lst.index('悟空')
print(num1)
length = len(lst)
print(length)
ret = lst.index('悟空', 1, 4)
print(ret)
輸出結果: ['悟空']]
1
0
4
3
8.列表的切片:
lst = ['a', 'b', 'c', 'd', 'e']
print(lst[0:4:2])
輸出結果: ['a', 'c']
9.列表的排序:
sort():
lst = ['tom', 'james', 'jerry', 'zs', 'ls']
lst.sort() #由小到大排序
print(lst)
lst.sort(reverse=True)#由大到小排序
print(lst)
輸出結果: ['james', 'jerry', 'ls', 'tom', 'zs']
['zs', 'tom', 'ls', 'jerry', 'james']
10.翻轉:
reverse()
lst = ['tom', 'james', 'jerry', 'zs', 'ls']
lst.reverse()
print(lst)
輸出結果: ['ls', 'zs', 'jerry', 'james', 'tom']
元組:
元組特點:元組是有序的,不能修改。
元組的定義:
.通過()來定義:變數名=(1,2,3,4,) 。以逗號分割的,以小括號包圍的序列。
. 通過tuple函式定義: lst=[1,2,3,4] 變數名=tuple(lst)
元組的優點:由於元組不可變,所以遍歷元組比列表要快(較小的效能提升)。
1.元組的建立:
tup = (1,2.2,True,'hello')
print(tup)
print(type(tup))
輸出結果: (1, 2.2, True, 'hello')
<class 'tuple'>
2.訪問元組:
通過索引:
tup = (1,2.2,True,'hello')
ret = tup[4] # 注意索引越界的問題
print(ret)
輸出結果:
通過切片:
tup = (1,2.2,True,'hello')
tup1 = tup[0:4:1]
print(tup1)
輸出結果: (1, 2.2, True, 'hello')
3.訪問多維元祖:
tup = (('zs',10),('ls',11),('ww',12))
print(tup[1][0])
輸出結果: ls
4. 使用多個變數來接受元組的值 注意:變數中的個數和元組中的值得個數必須一一對應
tup = (('zs',10),('ls',11),('ww',12))
name,age,height,weight = ('zs',18,1.64,150)
print(name)
print(age)
print(height)
print(weight)
for name, age in tup: #for 迴圈遍歷多重元組
print(name,age)
輸出結果: zs
18
1.64
150
zs 10
ls 11
ww 12
5.tuple()函式和list()函式
lst = [1,2,3]
print(tuple(lst))
tup = ('a','b','c')
print(list(tup))
輸出結果: (1, 2, 3)
['a', 'b', 'c']
6.元組的方法:
tup = ('a','b','c','c','b','a','x')
print(tup.index('b'))
print(tup.index('a',2,len(tup)))
print(tup.count('a'))
輸出結果: 1
5
2