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实现基于PIL和tesseract的验证码识别功能示例

Python实现基于PIL和tesseract的验证码识别功能示例

本文实例讲述了Python实现基于PIL和tesseract的验证码识别功能。分享给大家供大家参考,具体如下: 之前搞这个搞了一段时间,后面遇到了点小麻烦,导致识别率太低了,最多也就百分...

详解Python学习之安装pandas

详解Python学习之安装pandas

一、python pip的安装与使用 1、pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。 目前如果你在 python.or...

pyqt5实现按钮添加背景图片以及背景图片的切换方法

pyqt5实现按钮添加背景图片以及背景图片的切换方法

简介 对与控件QPushButton中的可以使用setStyleSheet设置它背景图片。具体设置背景图片的方法有两种 self.button.setStyleSheet("QPus...

比较详细Python正则表达式操作指南(re使用)

比较详细Python正则表达式操作指南(re使用)

Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emecs 风格的模式。Emacs 风格模...

解读Python中degrees()方法的使用

 degrees()方法从弧度转换到度角x 语法 以下是degrees()方法的语法: degrees(x) 注意:此函数是无法直接访问的,所以我们需要导入math模...