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发送邮件附件以定时备份MySQL的教程
Apr 25 Python
使用Python编写提取日志中的中文的脚本的方法
Apr 30 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
python3中dict(字典)的使用方法示例
Mar 22 Python
Python求解任意闭区间的所有素数
Jun 10 Python
Django  ORM 练习题及答案
Jul 19 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
pycharm显示远程图片的实现
Nov 04 Python
Django app配置多个数据库代码实例
Dec 17 Python
pytorch 常用函数 max ,eq说明
Jun 28 Python
如何创建一个Flask项目并进行简单配置
Nov 18 Python
详解Java中一维、二维数组在内存中的结构
Feb 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
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
js实现图片轮播效果学习笔记
2017/07/26 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
python实现最长公共子序列
2018/05/22 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
django迁移数据库错误问题解决
2019/07/29 Python
python 读取二进制 显示图片案例
2020/04/24 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
Python识别处理照片中的条形码
2020/11/16 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
50岁生日感言
2014/01/23 职场文书
《桥》教学反思
2014/04/09 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
Spring中bean集合注入的方法详解
2022/07/07 Java/Android