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

yipeiwu_com6年前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使用正则表达式分割字符串的实现方法

如下: re.split(pattern, string, [maxsplit], [flags]) pattern:表示模式字符串,由要匹配的正则表达式转换而来。 string...

Python 实现文件读写、坐标寻址、查找替换功能

Python 实现文件读写、坐标寻址、查找替换功能

读文件 打开文件(文件需要存在) #打开文件 f = open("data.txt","r") #设置文件对象 print(f)#文件句柄 f.close() #关闭文件 #为了方...

Python中字符串对齐方法介绍

目的   实现字符串的左对齐,右对齐,居中对齐。 方法   字符串内置了以下方法:其中width是指包含字符串S在内的宽度,fillchar默认是空格,也可以指定填充字符 复制代码...

python中的TCP(传输控制协议)用法实例分析

本文实例讲述了python中的TCP(传输控制协议)用法。分享给大家供大家参考,具体如下: 1.TCP与UDP的不同: windows网络调试助手下载:https://pan.baidu...

Django为窗体加上防机器人的验证码功能过程解析

Django为窗体加上防机器人的验证码功能过程解析

这里我们使用 django-simple-captcha 模块,官方介绍如下:https://github.com/mbi/django-simple-captcha 一键安装: p...