以下是我的測試代碼,輸出結果都不相同,使用Python3.6在pycharm上編寫的代碼:
result=[[]]*6
#result=[[]*6]
#result=[[],[],[],[],[]]
with?open('2.txt','r')?as?f:
????for?line?in?f:
????????tmp=line.split()
????????result[0].append(tmp[0])???#對result中第一個list添加tmp[0]
????????result[1].append(tmp[1])
????????result[2].append(tmp[2])
????print(result)
望各位不吝賜教,如果要定義result=[[],[],[]……],里面有N個空列表,該如何定義呢?
1 回答
已采納

清波
TA貢獻165條經驗 獲得超90個贊
沒有看懂題主的意圖,從代碼看,是想將每行的每個詞,分別放入多維列表中,可是各行的單詞數是不同的,要不要用“稀疏數組(列表)”呢,當然python自帶的列表并沒有稀疏概念,就用None 表示;或者不用稀疏數組,直接將對應索引的單詞按照行序放入多維列表?
#無稀疏數組(列表/矩陣)代碼 result=[] with?open('2.txt','r')?as?f: ????for?line?in?f: ????????for?index,value?in?enumerate(line.split()): ????????????try: ????????????????result[index].append(value) ????????????except?IndexError: ????????????????result.append([]) ????????????????result[index].append(value)
#稀疏數組(列表/矩陣)代碼 算了好難寫,既然已經給自己挖了坑,那我就在坑底躺著吧,不寫了。 Python?有一些稀疏矩陣的模塊和包,百度就可以。
添加回答
舉報
0/150
提交
取消