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登录Dr.com思路以及代码分享
Jun 25 Python
对于Python的Django框架部署的一些建议
Apr 09 Python
python实现解数独程序代码
Apr 12 Python
python3使用requests模块爬取页面内容的实战演练
Sep 25 Python
用Eclipse写python程序
Feb 10 Python
pandas数据分组和聚合操作方法
Apr 11 Python
通过 Django Pagination 实现简单分页功能
Nov 11 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
python将音频进行变速的操作方法
Apr 08 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 Python
使用Python解决图表与画布的间距问题
Apr 11 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP Mysql编程之高级技巧
2008/08/27 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
AngularJS折叠菜单实现方法示例
2017/05/18 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
详解微信UnionID作用
2019/05/15 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
vue之组件内监控$store中定义变量的变化详解
2019/11/08 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
Python列表切片常用操作实例解析
2019/12/16 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
"火柴棍式"程序员面试题
2014/03/16 面试题
毕业生求职信
2014/06/10 职场文书
体育教师个人总结
2015/02/09 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle