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

yipeiwu_com5年前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来开发Markdown脚本扩展的实例分享

使用Python来开发Markdown脚本扩展的实例分享

关于Markdown 在刚才的导语里提到,Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排...

浅谈Python2获取中文文件名的编码问题

问题: Python2获取包含中文的文件名是如果不转码会出现乱码。 这里假设要测试的文件夹名为test,文件夹下有5个文件名包含中文的文件分别为: Python性能分析与优化.pdf P...

Python之lambda匿名函数及map和filter的用法

现有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] t1 = (('a'), ('c'...

Python中二维列表如何获取子区域元素的组成

Python中二维列表如何获取子区域元素的组成

用过NumPY的应该都知道,在二维数组中可以方便地使用区域切片功能,如下图: 而这个功能在Python标准库的List中是不支持的,在List中只能以一维方式来进行切片操作: 但有时...

Windows环境下python环境安装使用图文教程

Windows环境下python环境安装使用图文教程

Windows环境下python的安装与使用 一、python如何运行程序 首先说一下python解释器,它是一种让其他程序运行起来的程序。当你编写了一段python程序,python解...