1. 程式人生 > >Python基礎 列表和元組

Python基礎 列表和元組

列表:

列表是一個有序的,可修改的,元素以逗號分割,以中括號包圍的序列。

因為列表可以修改,所以我們可以通過列表的索引來修改列表。

格式:變數名= [元素1,元素2,元素3,...]

作用:儲存多個數據

1.檢視列表的型別

1
2
3
4

 

>>> name = ["Eric","Mary","Tom"]
>>> type(name)
<class 'list'>
>>> 

 

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