为了账号安全,请及时绑定邮箱和手机立即绑定

二维列表list=[[]]*3与list=[[],[],[]]区别

最近遇到一个二维列表问题,麻烦下大家帮我看看:

我想定义一个list=[[]]*N把一个txt文件的第一列放入list[0],第二列放入list[1],依次类推,以下是我的代码:

result=[[]]*4

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)

结果输出list[i]中包含了txt中的所有数据,且每个list[i]都一样。如果定义list=[[],[],[],[]]的话就能正确输出,但如果我要定义一个list中有100个空列表该怎么定义呢?

我用的是Python3.6,望不吝赐教


正在回答

1 回答

个人理解,觉得应该是list[[]*3]  和 list[[],[],[]]是等价的,您的list[[]]*3会将所有的都放在一起 分行进行输出。【仅供参考,说得不对的地方还望见谅。

0 回复 有任何疑惑可以回复我~
#1

qq_风_172 提问者

很感谢你的回答,我试了下,还是不行list[[]*3] 、 list[[],[],[]]和list[[]]*3应该有很大的区别,对于list[[]*3]都不能使用list[1].append()
2017-01-13 回复 有任何疑惑可以回复我~
#2

94cc3447758 回复 qq_风_172 提问者

我再看一下,这个跟矩阵是有点像的,没能帮到你,不好意思哈。
2017-01-13 回复 有任何疑惑可以回复我~
#3

qq_风_172 提问者 回复 94cc3447758

还是非常感谢你的回答,我还是没弄出来,如果你弄懂了,记得告知一下,thanks
2017-01-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758351    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

二维列表list=[[]]*3与list=[[],[],[]]区别

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号