以下是我的测试代码,输出结果都不相同,使用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
提交
取消