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 iter()函数用法实例分析
Mar 17 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
Python tkinter实现简单加法计算器代码实例
May 13 Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 01 Python
利用python清除移动硬盘中的临时文件
Oct 28 Python
Python基础之操作MySQL数据库
May 06 Python
5行Python代码实现一键批量扣图
Jun 29 Python
Python中的pprint模块
Nov 27 Python
Python实现视频自动打码的示例代码
Apr 08 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
基于文本的访客签到簿
2006/10/09 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
Angular2学习笔记——详解路由器模型(Router)
2016/12/02 Javascript
Bootstrap CSS组件之导航(nav)
2016/12/17 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
微信小程序开发图片拖拽实例详解
2017/05/05 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
Python3中的2to3转换工具使用示例
2015/06/12 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
使用TensorFlow实现SVM
2018/09/06 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
万豪国际住宅与别墅集团:Homes & Villas by Marriott International
2020/10/08 全球购物
毕业生求职信
2014/06/10 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
合作协议书范文
2014/08/20 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
教师节班会开场白
2015/06/01 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
《假如》教学反思
2016/02/17 职场文书
mysql如何查询连续记录
2022/05/11 MySQL