神奇的數組
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]