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网络编程之文件下载实例分析
May 20 Python
python利用标准库如何获取本地IP示例详解
Nov 01 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
Jan 27 Python
详解Python发送email的三种方式
Oct 18 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
Python 异步协程函数原理及实例详解
Nov 13 Python
如何提高python 中for循环的效率
Apr 15 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
Python错误的处理方法
Jun 23 Python
Python如何输出百分比
Jul 31 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
总结几个非常实用的Python库
Jun 26 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 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
如何用php获取文件名后缀
2013/06/09 PHP
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
基于tensorflow加载部分层的方法
2018/07/26 Python
python从子线程中获得返回值的方法
2019/01/30 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
python批量解压zip文件的方法
2019/08/20 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
销售自我评价
2013/10/22 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
北京颐和园导游词
2015/01/30 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
时尚女魔头观后感
2015/06/04 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
初中班长竞选稿
2015/11/20 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
Python使用UDP实现720p视频传输的操作
2021/04/24 Python