python中字符串变二维数组的实例讲解

yipeiwu_com7年前Python基础

有一道算法题题目的意思是在二维数组里找到一个峰值。要求复杂度为n。

解题思路是找田字(四边和中间横竖两行)中最大值,用分治法递归下一个象限的田字。

在用python定义一个二维数组时可以有list和numpy.array两种方式,看了几篇python中二维数组的建立的博客发现大多都是建立的初始化的二维数组,而我需要通过文件读取得到的是字符串,再把字符串转换为二维数组,找不到解决方法还是决定自己来转换。

首先,最开始的字符串输出如下,数字之间有空格

思路就是把先按换行符进行切片,再对每一行的字符再进行一次切片操作,代码如下:

但事实上我在用"\n"来进行切片的时候,在末尾留下一个""空的小尾巴,可能是文本中末尾也有一个换行符,所以我在第9行用list.pop()把空的元素去掉了。(window环境中不需要)

就这样可以得到list的二维数组了,因为numpy。array支持比list更多的引索方式,我们用list = np.array(list)把list转换为numpy.array最后结果如下:

到这里就完成转换了,接下来就是写算法解题了。总的来说我还是对自己的方法不太满意,如果有更加优雅的转换二维数组的方法请留言,不胜感激~

以上这篇python中字符串变二维数组的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

基于python select.select模块通信的实例讲解

基于python select.select模块通信的实例讲解

要理解select.select模块其实主要就是要理解它的参数, 以及其三个返回值。 select()方法接收并监控3个通信列表, 第一个是所有的输入的data,就是指外部发过来的数据,...

python里对list中的整数求平均并排序

问题 定义一个int型的一维数组,包含40个元素,用来存储每个学员的成绩,循环产生40个0~100之间的随机整数, (1)将它们存储到一维数组中,然后统计成绩低于平均分的学员的人数,并输...

python数据类型_元组、字典常用操作方法(介绍)

元组 Python的元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号,列表使用方括号。 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。 tp=(1,2,...

python中的装饰器详解

在了解装饰器的之前一定要先了解函数作为参数传递, 什么是函数内嵌,请参考我之前写的博客函数简介 因为在python里面,函数也是对象,也可以作为参数进行传递.python装饰器本质也是...

手机使用python操作图片文件(pydroid3)过程详解

手机使用python操作图片文件(pydroid3)过程详解

起因 前几天去国图拍了一本书,一本心理学方面的书,也许你问我为什么不去买一本,或者去网上找pdf。 其实吧,关于心理学方面的书可以说在市面上一抓就是一堆,至于拍这本书两个原因,一个是...