1. 程式人生 > >python學習記錄之---------資料處理(1)陣列/二維陣列的定義和使用

python學習記錄之---------資料處理(1)陣列/二維陣列的定義和使用

工具/版本

(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
     降序, reverse = False 升序(預設)。

例項:

(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})