python中字符串變二維數(shù)組的實(shí)例講解
有一道算法題題目的意思是在二維數(shù)組里找到一個峰值。要求復(fù)雜度為n。
解題思路是找田字(四邊和中間橫豎兩行)中最大值,用分治法遞歸下一個象限的田字。
在用python定義一個二維數(shù)組時(shí)可以有l(wèi)ist和numpy.array兩種方式,看了幾篇python中二維數(shù)組的建立的博客發(fā)現(xiàn)大多都是建立的初始化的二維數(shù)組,而我需要通過文件讀取得到的是字符串,再把字符串轉(zhuǎn)換為二維數(shù)組,找不到解決方法還是決定自己來轉(zhuǎn)換。
首先,最開始的字符串輸出如下,數(shù)字之間有空格
思路就是把先按換行符進(jìn)行切片,再對每一行的字符再進(jìn)行一次切片操作,代碼如下:
但事實(shí)上我在用"\n"來進(jìn)行切片的時(shí)候,在末尾留下一個""空的小尾巴,可能是文本中末尾也有一個換行符,所以我在第9行用list.pop()把空的元素去掉了。(window環(huán)境中不需要)
就這樣可以得到list的二維數(shù)組了,因?yàn)閚umpy。array支持比list更多的引索方式,我們用list = np.array(list)把list轉(zhuǎn)換為numpy.array最后結(jié)果如下:
到這里就完成轉(zhuǎn)換了,接下來就是寫算法解題了。總的來說我還是對自己的方法不太滿意,如果有更加優(yōu)雅的轉(zhuǎn)換二維數(shù)組的方法請留言,不勝感激~
以上這篇python中字符串變二維數(shù)組的實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)識別XSS漏洞的方法詳解
XSS(跨站腳本攻擊)作為一種常見的網(wǎng)絡(luò)安全漏洞,經(jīng)常被黑客用來攻擊網(wǎng)站。這篇文章主要介紹了如何利用Python 識別 XSS 漏洞,需要的可以參考一下2023-02-02python實(shí)現(xiàn)的jpg格式圖片修復(fù)代碼
這篇文章主要介紹了python實(shí)現(xiàn)的jpg格式圖片修復(fù)代碼,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-04-04python 基礎(chǔ)學(xué)習(xí)第二彈 類屬性和實(shí)例屬性
本人c程序員,最近開始學(xué)python,深深的被python的強(qiáng)大所吸引,今后也會把學(xué)到的點(diǎn)點(diǎn)滴滴記錄下來,現(xiàn)在分享一下關(guān)于類屬性和實(shí)例屬性的一些問題,很基礎(chǔ)的東西2012-08-08python反編譯學(xué)習(xí)之字節(jié)碼詳解
這篇文章主要給大家介紹了關(guān)于python反編譯學(xué)習(xí)之字節(jié)碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05用Python從零實(shí)現(xiàn)貝葉斯分類器的機(jī)器學(xué)習(xí)的教程
這篇文章主要介紹了用Python從零實(shí)現(xiàn)貝葉斯分類器的教程,樸素貝葉斯算法屬于機(jī)器學(xué)習(xí)中的基礎(chǔ)內(nèi)容、實(shí)用而高效,本文詳細(xì)展示了用Python語言實(shí)現(xiàn)的步驟,需要的朋友可以參考下2015-03-03人工智能-Python實(shí)現(xiàn)多項(xiàng)式回歸
這篇文章主要介紹了人工智能-Python實(shí)現(xiàn)多項(xiàng)式回歸,上一次我們講解了線性回歸,這次我們重點(diǎn)分析多項(xiàng)式回歸,需要的小伙伴可以參考一下2022-01-01詳解Python設(shè)計(jì)模式編程中觀察者模式與策略模式的運(yùn)用
這篇文章主要介紹了Python設(shè)計(jì)模式編程中觀察者模式與策略模式的運(yùn)用,觀察者模式和策略模式都可以歸類為結(jié)構(gòu)型的設(shè)計(jì)模式,需要的朋友可以參考下2016-03-03