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)

原文地址:https://www.cnblogs.com/qijunhui/p/9277628.html

时间: 2024-07-30 18:07:01

Python之list、dict、np等常用数值运算的相关文章

Python学习——使用dict和set

dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list: names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75, 85] 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长. 如

通过C学Python(1)关于语言、数值类型和变量

强类型语言,不可能出现"程序执行出错后仍可继续执行,并且该错误导致的问题使后续执行可能出现任意行为"这类错误,这类错误的例子,如C里的缓冲区溢出.Jump到错误地址. 弱类型语言,类型检查更不严格,如偏向于容忍隐式类型转换.例如C语言中int类型和double类型的隐式转换.(个人认为int型和指针型的自由转换,以及union中的一个int对4个char更能说明问题) 静态类型语言,在编译时就拒绝类型错误导致的问题 动态类型语言,在运行时才报出类型错误 C语言是弱类型.静态类型 pyt

9 Python基础-使用dict和set

dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list: names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75, 85] 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长. 如

《python源码剖析》笔记 python中的Dict对象

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyDictObject对象 -->  C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN) PyDictObject采用了hash表,时间复杂度是O(1) typedef struct{ Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要重新计算一遍hash值 PyObject *me_key; PyObject *me_

python通信串口pyserial安装及常用语句

一.安装 1.下载软件包pyserial-2.7.tar.gz   网址:https://pypi.python.org/pypi/pyserial 2.8uftp上传至/usr/local/src/目录下 3.cd /usr/local/src/ 4.解压tar -zxvf pyserial-2.7.tar.gz 5.cd pyserial-2.7/         //在该解压后的文件里发现setup.py文件,而没有configrue文件,所以, //下一步用sudo python set

C++中string转化为常用数值类型

//模板类 用于将string类型转化为 常用数值类型 template <class Type> Type stringToNum(const string& str) { istringstream iss(str); Type num; iss >> num; return num; }int main(int argc, char* argv[]){ string str; cin >> str; stringToNum<float>(str

python列表、字典、字符串常用操作

Python 列表.字典.字符串常用操作 1.字符串操作 字符串可以通过下标取值,但由于字符串是不可变变量,不可通过下标来修改值. str = 'lily terry mark' name[0]    #获取第1个字符串值 name[0:7]   #获取第1~7的字符串值 name[:7]   #缺省开始位置,默认从第1个元素开始取值 name[0:]   #缺省结束位置,默认到字符串末尾结束 字符串包含判断操作符:in .not in .is 'lily' in names 'lily' no

《python源代码剖析》笔记 python中的Dict对象

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 1.PyDictObject对象 -->  C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN) PyDictObject採用了hash表,时间复杂度是O(1) typedef struct{ Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要又一次计算一遍hash值 PyObject *me_key; PyObject *me

python学习,dict的映射练习

练习dict的映射 1 #coding:utf-8 2 #问题: a->c, b->d, c->e... 现在有结果字符串求原字符串 3 dict1={'a':'c', 4 'b':'d', 5 'c':'e', 6 'd':'f', 7 'e':'g', 8 'f':'h', 9 'g':'i', 10 'h':'j', 11 'i':'k', 12 'j':'l', 13 'k':'m', 14 'l':'n', 15 'm':'o', 16 'n':'p', 17 'o':'q',