1. 程式人生 > >Python自動化運維開發----基礎(四)列表基礎

Python自動化運維開發----基礎(四)列表基礎

1.列表的定義

列表是由中括號括起來的,每一個元素之間都是由逗號隔開

eg:定義一個列表

>>> a = [1, 2, 3, 4, 5, 6]
>>> a
[1, 2, 3, 4, 5, 6]
>>>

2.列表的特點

(1)有序

(2)編號

(3)遍歷

(4)可追加、插入

(5)可刪除、彈出

(6)可修改

(7)長度不定

 eg1: 訪問列表中的元素

從左往右訪問的話編號從0開始

>>> a[0]
1

從右往左訪問的話編號從-1開始

>>> a[-1]
6

eg2: 修改列表的某一個元素的值

>>> a
[1, 2, 3, 4, 5, 6]
>>> a[1] = 1
>>> a
[1, 1, 3, 4, 5, 6]

eg3: 列表遍歷用for

>>> for i in a:
...     print(i)
... 
1
1
3
4
5
6

eg4: 刪除列表中的元素

>>> a
[1, 1, 3, 4, 5, 6]
>>> del a[1]
>>> a
[1, 3, 4, 5, 6]

eg5: 檢視列表的長度

>>> len(a)
5

eg6: 檢視索引元素是列表的的長度

>>> a.append([1,2])
>>> a
[1, 3, 4, 5, 6, [1, 2]]
>>> len(a[-1])
2

eg7: 檢視值是否在列表中

>>> a
[1, 3, 4, 5, 6, [1, 2]]
>>> 1 in a    
True
>>> 1 not in a
False

3.列表轉換

規則:

list ----> int       不能轉換

list ----> float    不能轉換

list ----> str        可以轉換   轉換後有 “”

list ----> bool     可以轉換   空列表是 False   否則就是 True

4.小練習

eg1:  寫一個等差數列 從1開始到 100 依次遞增5

用while實現

#!/usr/bin/python
i = 1
while i <= 100:
    print(i)
    i += 5

用range函式實現

#!/usr/bin/python
for i in range(1,100,5):
    print(i)

eg2: 寫一個數字列表 找出數字列表中的數字最大的數字

用while迴圈實現

#!/usr/bin/python
num_list = [5,6,10,4,1,36]
num_length = len(num_list)
j = 1
max = num_list[0]
while j < num_length:
    if max > num_list[j]:
        j +=1
    else:
        max = num_list[j]
        j +=1
print(max)

用for迴圈實現

#!/usr/bin/python
max1 = num_list[0]
for z in num_list:
    if z > max1:
        max1 = z;
print(max1)

用python自帶函式找最大的值

>>> a
[1, 3, 4, 5, 6]
>>> max(a)
6

用python自帶的函式找最小的值

>>> min(a)
1

eg3: Python中表示什麼都沒有用 None , 如下用None做比較

#!/usr/bin/python

num = [-1,-2,-3]

max = None

for i in num:
    if max is None:
        max = i
    elif i > max:
        max = i
print(max)

5.list的四則運算

list可以做的四則運算有加法和乘法(乘法必須是乘以整數)

list的加法

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> a + b
[1, 2, 3, 4, 5, 6]

list的乘法

>>> a * 2
[1, 2, 3, 1, 2, 3]

6.list的切片(先找索引編號,再找索引編號對應的元素)

切片和range類似  range(start, end, step)

注:切片是根據前一個列表的索引編號組成一個新的list

從a列表中用切片擷取一個新的分片

>>> a
[1, 2, 3]
>>> a[1:2]
[2]

切片的格式:  A[start, end, step]

規則:

step = 1   start = 0     end != len(list)    -----> list[:end]    start可以省略

step = 1   start = 0     end = len(list)     -----> list[start:]

start = 0   step != 1    end = len(list)     -----> list[::step]

start = 0   step = 1     end = len(list)     -----> list[:]