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 相关文章推荐
wxPython使用系统剪切板的方法
Jun 16 Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
对numpy中的transpose和swapaxes函数详解
Aug 02 Python
pycham查看程序执行的时间方法
Nov 29 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
Feb 21 Python
python绘制多个子图的实例
Jul 07 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
Django自带日志 settings.py文件配置方法
Aug 30 Python
python 读取数据库并绘图的实例
Dec 03 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
python 对图片进行简单的处理
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 写文本日志实现代码
2010/05/18 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
vue实现购物车列表
2020/06/30 Javascript
nestjs返回给前端数据格式的封装实现
2021/02/22 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
Holiday Inn中国官网:IHG旗下假日酒店预订
2018/04/08 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
会计学个人自荐信模板
2013/12/13 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
甲乙双方合作协议书
2014/10/13 职场文书
2015年班组工作总结
2015/04/20 职场文书
商业计划书范文
2019/04/24 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
Python Parser的用法
2021/05/12 Python
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
python可视化之颜色映射详解
2021/09/15 Python
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python