1. 程式人生 > >Python學習之路(二)

Python學習之路(二)

神奇的陣列

1、陣列值插入

    陣列值插入有三種方式,分別為append()、extend()和insert()。

    append():在最後新增一個值,一次只能新增一個。

    extend() :在最後新增值,但可以一次新增多個值。

    insert()   :在指定位置插入一個值。

>>> empty.append("1"+"2")
>>> empty
['Hello', 'world', 222, '12']
>>> empty.extend("666",'888')
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    empty.extend("666",'888')
TypeError: extend() takes exactly one argument (2 given)
>>> empty.extend(["666",'888'])
>>> empty
['Hello', 'world', 222, '12', '666', '888']
>>> empty.insert(1,"insert")
>>> empty
['Hello', 'insert', 'world', 222, '12', '666', '888']
>>> empty.insert(0,"begin")
>>> empty
['begin', 'Hello', 'insert', 'world', 222, '12', '666', '888']

2、陣列值的檢視和交換

    檢視陣列值可通過陣列名加索引值單個檢視或直接輸入陣列名全部檢視。

    陣列值得交換通過變數來進行完成。

>>> empty[0]
'begin'
>>> empty[2]
'insert'
>>> temp =empty[0]
>>> empty[0] = empty[2]
>>> empty[2] = temp
>>> empty
['insert', 'Hello', 'begin', 'world', 222, '12', '666', '888']

3、陣列值的刪除

    刪除陣列的值也是可以通過三個方式來完成,分別是remove()、del()和pop()。

    remove():通過陣列中所包含的值來刪除。

    del()       :通過索引刪除。

    pop()      :以堆疊的方式刪除。

>>> empty
['insert', 'Hello', 'begin', 'world', 222, '12', '666', '888']
>>> empty.remove('insert')
>>> empty
['Hello', 'begin', 'world', 222, '12', '666', '888']
>>> empty.remove([0])
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    empty.remove([0])
ValueError: list.remove(x): x not in list
>>> del empty[1]
>>> empty
['Hello', 'world', 222, '12', '666', '888']
>>> empty.pop()
'888'
>>> empty
['Hello', 'world', 222, '12', '666']

4、列表分片

    列表分片的作用是為了滿足一次性獲取多個元素,不影響原來的陣列。

    方式:array[1:3],左閉右開,即表示array[1~2]不包含array[3]。

>>> empty[1:3]
['world', 222]

5、常用操作符

(1)count():計算該元素在陣列中出現的次數。

(2)index():計算該元素首次出現在陣列中的位置。

(3)reverse():將陣列翻轉。

(4)sort():將陣列排序,預設從小到大排序。

>>> array = [1,3,6,2,9,0,5,7,4,2,8,9,5,1,1,4]
>>> array
[1, 3, 6, 2, 9, 0, 5, 7, 4, 2, 8, 9, 5, 1, 1, 4]
>>> array.count(1)
3
>>> array.index(2)
3
>>> array.reverse()
>>> array
[4, 1, 1, 5, 9, 8, 2, 4, 7, 5, 0, 9, 2, 6, 3, 1]
>>> array.sort()
>>> array
[0, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 8, 9, 9]
>>> array.sort(reverse=True)
>>> array
[9, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 1, 0]

Python中每一個變數相當意識一個標籤,直接賦值如array1 = array當將array轉換後,arrary1也會跟著改變,如果是採用分片形式的賦值如array2 = array[:]才是真正的賦值,當array改變的時候,arrary2保持不變。

>>> array
[9, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 1, 0]
>>> array
[9, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 1, 0]
>>> array1 = array
>>> array1
[9, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 1, 0]
>>> array2 = array[:]
>>> array2
[9, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 1, 0]
>>> array.reverse()
>>> array
[0, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 8, 9, 9]
>>> array1
[0, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 7, 8, 9, 9]
>>> array2
[9, 9, 8, 7, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 1, 0]