Python中列表list以及list与数组array的相互转换实现方法


Posted in Python onSeptember 22, 2017

本文实例讲述了Python中list以及list与array的相互转换实现方法。分享给大家供大家参考,具体如下:

python中的list是一种有序集合,可以随时增删元素;

# -*- coding: utf-8 -*-
frameID = 1
frameID_list = []
frameID_list.append(frameID)
print (frameID_list)
frameID = 2
frameID_list.append(frameID)
print (frameID_list)
name = 'SRX'
frameID_list.append(name)
print (frameID_list)
print (len(frameID_list))  #打印长度
print (frameID_list[2])  #使用[]进行索引
print (frameID_list[-1])
frameID_list.insert(1, 'WJC')  #在指定位置插入元素
print (frameID_list)
frameID_list.pop()  #将最后一位的元素删除
print (frameID_list)
frameID_list.pop(0)  #删除指定位置的元素
print (frameID_list)

下面说一下list与numpy中的array相互转换。

首先list中的元素属性应该一致才能转换,如下所示,其中frame_ID_list中包含的元素是str型记录的帧号,首先利用np.array将其转成int型的array,然后将转换之后的数组每个元素都做了一个数学运算,由于运算之后的结果是float,因此在第二行又将其强转成了int型,最后再将np的数组转回list,整个操作相当于完成了对list(其中包含的是str类型的元素)中的每个元素进行数学运算,然后再转回list的过程。

frame_ID_list_np = np.array(frame_ID_list, dtype = int)
frame_ID_list_np = np.array(frame_ID_list_np / 1000 * fps, dtype = int)
frame_ID_list = frame_ID_list_np.tolist()

另外,还有一个需要注意的地方,就是类型转换之后再判断两个变量是否相等时,例如:

frame_ID = '1000'
ID_count = 1000
frame_ID = '1000'
ID_count = 1000
if frame_ID == ID_count:
...

这时这个if是不会成立的,这么直接写出来就很容易看到错误所在,但是当frame_ID与ID_count是从别的变量获得的,就没有那么清晰的看出两者的类型了,所以在编程的时候一定要注意这些小细节;

类似的还有存储文件的时候,比如:

str_name_FID = str(frame_ID_list_np_save[count_save_frame_np])
cv2.imwrite('image/' + video_name_save + '_' + str_name_FID + '.jpg',frame) #save the image
count_save_frame_np = count_save_frame_np + 1

在存储图片时,图片的名字一定都要是str类型相互串在一起的,count_save_frame_np是int型的变量,如果直接在程序中使用该变量作为图片名的一部分,是不会存下来任何文件的,所以第一行的强转是必须的,先将其转成str型的,再使用就可以了。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
复习Python中的字符串知识点
Apr 14 Python
linux下python抓屏实现方法
May 22 Python
Python中使用不同编码读写txt文件详解
May 28 Python
详解python开发环境搭建
Dec 16 Python
python画出三角形外接圆和内切圆的方法
Jan 25 Python
浅谈python中对于json写入txt文件的编码问题
Jun 07 Python
Window 64位下python3.6.2环境搭建图文教程
Sep 19 Python
python+os根据文件名自动生成文本
Mar 21 Python
Python3 chardet模块查看编码格式的例子
Aug 14 Python
python实现在一个画布上画多个子图
Jan 19 Python
python实现滑雪游戏
Feb 22 Python
pytorch 查看cuda 版本方式
Jun 23 Python
Python实现字符串与数组相互转换功能示例
Sep 22 #Python
Python中用post、get方式提交数据的方法示例
Sep 22 #Python
利用python操作SQLite数据库及文件操作详解
Sep 22 #Python
Python正则表达式知识汇总
Sep 22 #Python
python3实现全角和半角字符转换的方法示例
Sep 21 #Python
python实现二分查找算法
Sep 21 #Python
分享给Python新手们的几道简单练习题
Sep 21 #Python
You might like
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
python处理按钮消息的实例详解
2017/07/11 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
Python continue语句实例用法
2020/02/06 Python
python scatter函数用法实例详解
2020/02/11 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
教师实习自我鉴定
2013/12/13 职场文书
工程专业求职自荐书范文
2014/02/08 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
Java网络编程之UDP实现原理解析
2021/09/04 Java/Android