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爬虫常用的模块分析
Aug 29 Python
python进阶教程之文本文件的读取和写入
Aug 29 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
Mar 30 Python
深入理解Python爬虫代理池服务
Feb 28 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
Django代码性能优化与Pycharm Profile使用详解
Aug 26 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 Python
python 递归调用返回None的问题及解决方法
Mar 16 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
浅析Python 序列化与反序列化
Aug 05 Python
Python加密技术之RSA加密解密的实现
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
php格式化工具Beautify PHP小小BUG
2008/04/24 PHP
php递归列出所有文件和目录的代码
2008/09/10 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
jquery ajax方式直接提交整个表单核心代码
2013/08/15 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
jQuery大于号(>)选择器的作用解释
2015/01/13 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
ionic隐藏tabs的方法
2016/08/29 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
借助云开发实现小程序短信验证码的发送
2020/01/06 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
初步解析Python中的yield函数的用法
2015/04/03 Python
Python Cookie 读取和保存方法
2018/12/28 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
心理健康教育心得体会
2013/12/29 职场文书
道路建设实施方案
2014/03/18 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python