Python之list、dict、np等常用数值运算

 1  list与np相互转换

单个列表可以转换为np数组,多个类表可以转换为np矩阵(多维数组):

 1 # 导入数据处理的包
 2 import numpy as np
 3 
 4 X = [1,2,3,4,5]
 5 Y = [5,4,3,2,1]
 6 # 普通列表转化为np数组
 7 X = np.array(X, dtype=np.int8)
 8 print(X)
 9 # 可以多维组合
10 XY = np.array([X,Y], dtype=np.int8)
11 print(XY)
12 # 转化为np数组后,可以进行矩阵的计算,如下是矩阵相减
13 X_Y = np.array(X, dtype=np.int8) - np.array(Y, dtype=np.int8)
14 print(X_Y)
15 # 可以统计np数组中指定元素的个数,如下是统计X_Y矩阵中绝对值为2的元素的个数
16 X_Y_2 = np.sum(np.fabs(X_Y)==2)
17 print(X_Y_2)

可以利用np生成零矩阵:

1 # 导入数据处理的包
2 import numpy as np
3 
4 # np生成零矩阵
5 Zero = np.zeros([4,5], np.int8) # 创建一个4*5的零矩阵
6 print(Zero)
7 # python还有一个不使用np包就能生成零矩阵的方法
8 Zero = [[0 for i in range(5)] for i in range(4)] # 创建一个4*5的零矩阵
9 print(Zero)

2  str、list、dict等操作

 str数字列表转换为int数字列表:

1 # str数字列表转int数字列表
2 X = ['1','2','3','4','5']
3 print(X)
4 # str数字列表不能参数数值运算,需转换为int数字列表
5 X = list(map(int, X))
6 print(X)

 两个列表合成一个词典:

1 # 两个列表组合成字典
2 X = ['X1','X2','X3','X4','X5']
3 Y = [1,2,3,4,5]
4 # 生成字典,X作为key,Y作为value,一一对应
5 Z_dict = dict(zip(X,Y))
6 print(Z_dict)

对词典中的元素进行排序(注意排序后dict变成了list):

1 # 对字典中的value进行从大至小排序,转化为列表形式
2 Z_dict = {'X1':1,'X2':2,'X3':3,'X4':4,'X5':5}
3 Z_list = sorted(Z_dict.items(), key = lambda x:x[1], reverse = True) # 注意排序后dict变成了list
4 print(Z_list)

posted @ 2018-07-07 16:22  祁俊辉  阅读(4434)  评论(0编辑  收藏  举报