第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python:具有列表列表的列表理解

Python:具有列表列表的列表理解

慕無忌1623718 2021-05-30 14:14:00
我將如何在列表理解中編寫以下代碼?grid = open('some_file.txt', 'r')lines = [line.strip('\n') for line in grid]list_of_lists = []for line in lines:    elms = [int(elm) for elm in line.split(' ')]    list_of_lists.append(elms)我的文件如下所示:3 8 6 9 44 3 0 8 62 8 3 6 93 7 9 0 3意思就是:grid = '3 8 6 9 4\n4 3 0 8 6\n2 8 3 6 9\n3 7 9 0 3'
查看完整描述

3 回答

?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個贊

在這里嘗試一下,首先拆分每一行,您將獲得一個數(shù)字列表作為字符串,因此map可以使用函數(shù)將其更改為int:


with open('file.txt', 'r') as f:

    k = [list(map(int,i.split())) for i in f.readlines()]

    print(k)


查看完整回答
反對 回復(fù) 2021-06-01
?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個贊

你并不需要應(yīng)用str.strip和str.split獨(dú)立。相反,將它們組合在一個操作中。列表推導(dǎo)式是通過定義一個列表元素,然后在循環(huán)上進(jìn)行迭代來構(gòu)建的for。


另請注意,str.strip不帶參數(shù)將與\n空格一樣處理。同樣,str.split沒有參數(shù)的情況下也會被空格分隔。


from io import StringIO


x = StringIO("""3 8 6 9 4

4 3 0 8 6

2 8 3 6 9

3 7 9 0 3""")


# replace x with open('some_file.txt', 'r')

with x as grid:

    list_of_lists = [[int(elm) for elm in line.strip().split()] for line in grid]

結(jié)果:


print(list_of_lists)


[[3, 8, 6, 9, 4],

 [4, 3, 0, 8, 6],

 [2, 8, 3, 6, 9],

 [3, 7, 9, 0, 3]]

使用內(nèi)置功能,使用起來效率更高map:


list_of_lists = [list(map(int, line.strip().split())) for line in grid]


查看完整回答
反對 回復(fù) 2021-06-01
  • 3 回答
  • 0 關(guān)注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號