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 相关文章推荐
web.py在SAE中的Session问题解决方法(使用mysql存储)
Jun 24 Python
全面了解Python环境配置及项目建立
Jun 30 Python
python 调用HBase的简单实例
Dec 18 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
分享6个隐藏的python功能
Dec 07 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
Apr 11 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
Jan 09 Python
使用python求解二次规划的问题
Feb 29 Python
python读取图像矩阵文件并转换为向量实例
Jun 18 Python
python缩进长度是否统一
Aug 02 Python
Python如何使用input函数获取输入
Aug 06 Python
利用Python优雅的登录校园网
Oct 21 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 smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
PHP Class&Object -- 解析PHP实现二叉树
2013/06/25 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
探讨Vue.js的组件和模板
2017/10/27 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
为什么要用EJB
2014/04/17 面试题
运动会稿件300字
2014/02/14 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS