python學習記錄之---------資料處理(1)陣列/二維陣列的定義和使用
阿新 • • 發佈:2019-01-11
工具/版本
(1)安裝環境:Windows7 64bit
(2)使用版本Python3.7
Python 列表(List)
序列是Python中最基本的資料結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
定義陣列
1、定義一維陣列
data_group = []
2、定義二維陣列
(1)定義三個陣列,使用時Data_groups[0][0],第一個陣列第一個元素
data_groups = [[]]*3
這個一般不是我們想要的,執行結果如下,任意一個數組增加一個元素,所有陣列都增加
data_groups[1].append(5)
print(data_groups)
[[5], [5], [5]](2)定義三個陣列,只增加自己增加的那個陣列
graph = [[] for i in range(3)]
示例如下
graph[1].append(5)
print(graph)
[[], [5], []]陣列的使用
1、增加元素
(1)向後增加append
data_group.append(1)
data_group.append(2)
print(data_group)
[1, 2]
(2)向前增加,第一個0指的是向第0個位置插入
insert() 函式用於將指定物件插入列表的指定位置,
list.insert(index, obj)
data_group.insert(0,1)
data_group.insert(0,2)
[2, 1]2、刪除元素
data_group = ['physics', 'chemistry', 1997, 2000] del data_group[3] print(data_group)
['physics', 'chemistry', 1997]
3、對列表進行排序
可使用sort函式或者sorted函式,兩者基本無差異
#語法
list.sort(cmp=None, key=None, reverse=False)
- cmp -- 可選引數, 如果指定了該引數會使用該引數的方法進行排序。python3中取消該函式
- key -- 主要是用來進行比較的元素,只有一個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的一個元素來進行排序。
- reverse -- 排序規則,reverse = True
例項:
(1)、使用預設引數data_group = [123,2202,785,567,1103]; data_group.sort(); print(data_group)[123, 567, 785, 1103, 2202]
(2)、降序排列
data_group = [123,2202,785,567,1103]; data_group.sort(reverse = True); print(data_group)(3)、自定義排序書序,示例為以第二個元素排序
# 獲取列表的第二個元素 def takeSecond(elem): return elem[1] # 列表 data_group = [(2, 2), (3, 4), (4, 1), (1, 3)] # 指定第二個元素排序 data_group.sort(key=takeSecond) print(data_group)
4、統計列表元素個數
(1)統計指定元素出現次數count()方法語法
list.count(obj)
引數:obj -- 列表中統計的物件。
返回值:返回元素在列表中出現的次數
data_group = [2, 2, 3, 4, 4, 2, 1, 2, 1, 3] num = data_group.count(2) print("2出現的次數是:%r次" % num)2出現的次數是:4
(2)統計所有元素出現次數使用Counter函式(注意這個C是大寫,之前一直報錯)
from collections import Counter data_group = [2, 2, 3, 4, 4, 2, 1, 2, 1, 3] num = Counter(data_group) print(num)Counter({2: 4, 3: 2, 4: 2, 1: 2})