python實(shí)現(xiàn)將讀入的多維list轉(zhuǎn)為一維list的方法
第一種:使用extend()
>>> lines = open('test.txt').readlines()
>>> lines
['1\n', '2\n', '3\n', '4,5\n']
>>> for line in lines:
... ll.extend(line.strip().split(','))
...
>>> ll
['1', '2', '3', '4', '5']
第二種:使用+
>>> ll = []
>>> lines = open('test.txt').readlines()
>>> lines
['1\n', '2\n', '3\n', '4,5\n']
>>> for line in lines:
... ll = ll + line.strip().split(',')
...
>>> ll
['1', '2', '3', '4', '5']
第三種:使用flat array數(shù)組的自帶方法
>>> ll = []
>>> lines = open('test.txt').readlines()
>>> for line in lines:
... ll.append(line.strip().split(','))
...
>>> ll = np.array(ll)
>>> np.hstack(ll.flat)
array(['1', '2', '3', '4', '5'],
dtype='|S1')
>>> list(np.hstack(ll.flat))
['1', '2', '3', '4', '5']
總結(jié):
1. extend()與append()的區(qū)別
append()可以接受任何數(shù)據(jù)類型和格式的數(shù)據(jù)作為一個(gè)元素插入原list
extend() 則僅能將任何數(shù)據(jù)類型和格式的數(shù)據(jù)展開(kāi)作為一組元素插入原list
eg.
>>> a = [1,'a'] >>> a.extend(np.array([2,'b'])) >>> a [1, 'a', '2', 'b'] >>> a.extend([3,['c']]) >>> a [1, 'a', '2', 'b', 3, ['c']] >>> a = [1,'a'] >>> a.extend(np.array([2,'b'])) >>> a [1, 'a', '2', 'b'] >>> a.extend([3,['c']]) >>> a [1, 'a', '2', 'b', 3, ['c']] >>> a = [1,'a'] >>> a.append(np.array([2,'b'])) >>> a [1, 'a', array(['2', 'b'], dtype='|S21')] >>> a.append([3,['c']]) >>> a [1, 'a', array(['2', 'b'], dtype='|S21'), [3, ['c']]]
2. flatten()無(wú)法對(duì)dtype = object的array進(jìn)行展開(kāi),dtype = object說(shuō)明array中的元素是list,即其不是滿矩陣結(jié)構(gòu)
eg.
>>> a = np.array([[1,2],[3,4]])
>>> a.dtype
dtype('int64')
>>> a.flatten()
array([1, 2, 3, 4])
>>>
>>> a = np.array([[1,2],[3,4],[5]])
>>> a.flatten()
array([[1, 2], [3, 4], [5]], dtype=object)
3.readlines讀取文件默認(rèn)str,可以通過(guò)map轉(zhuǎn)換數(shù)據(jù)類型
eg.
>>> ll = []
>>> lines = open('test.txt').readlines()
>>> lines
['1\n', '2\n', '3\n', '4,5\n']
>>> for line in lines:
... ll.append(map(int,line.strip().split(',')))
...
>>> ll
[[1], [2], [3], [4, 5]]
以上這篇python實(shí)現(xiàn)將讀入的多維list轉(zhuǎn)為一維list的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python的Django框架中設(shè)置日期和字段可選的方法
這篇文章主要介紹了Python的Django框架中設(shè)置日期和字段可選的方法,是Django設(shè)置當(dāng)中的基本操作,需要的朋友可以參考下2015-07-07
Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署
這篇文章主要介紹了Python基于Flask框架配置依賴包信息的項(xiàng)目遷移部署小技巧,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-03-03
opencv調(diào)整圖像亮度對(duì)比度的示例代碼
本文通過(guò)實(shí)例代碼給大家介紹了opencv調(diào)整圖像亮度對(duì)比度,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Python實(shí)現(xiàn)視頻目標(biāo)檢測(cè)與軌跡跟蹤流程詳解
通過(guò)閱讀相關(guān)文獻(xiàn)及測(cè)試,找到了一種基于多模板匹配的改進(jìn)方法,可以對(duì)遙感視頻衛(wèi)星中的移動(dòng)目標(biāo)進(jìn)行探測(cè),并繪制其軌跡。根據(jù)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),可以比較有效的對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤2023-01-01
python word轉(zhuǎn)pdf代碼實(shí)例
這篇文章主要介紹了python word轉(zhuǎn)pdf代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python爬蟲(chóng)Requests庫(kù)的使用詳情
這篇文章主要介紹了Python爬蟲(chóng)Requests庫(kù)的使用詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
pytorch中的nn.Unfold()函數(shù)和fold()函數(shù)解讀
這篇文章主要介紹了pytorch中的nn.Unfold()函數(shù)和fold()函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08

