在列表中创建一个列表 - 不工作
问题描述:
好吧,所以我有一个问题,我需要从我已经拆分的列表中创建另一个列表。这是代码。在列表中创建一个列表 - 不工作
def lists():
instructionList = instructions()
Lists = instructionList.split('\n')
Instructions = []
for values1 in Lists:
Instructions = Instructions + [values1.split(",")]
for values2 in Instructions:
newLists = []
newLists = newLists + [values2.split(" ")]
print Instructions [3]
当我创建指令表它的工作原理,但是当我尝试这进一步创造newLists它给了我这个错误=>是错误:“名单”对象有没有属性“分裂” 属性未找到。 您正试图访问不存在的对象的一部分。
我需要继续打破同样的列表。此外,我对此很新,所以请向我详细解释一些事情。
答
问题是,values1.split(",")
评估到一个列表,然后您将其放入另一个列表并追加到Instructions
。变量Instructions
然后保存列表的列表。因此,分配给values2
的每个元素都将是类型列表。
所以,如果你原来的instructions
样子:"a,b,c\nx,y,z\n"
Lists
最终看起来像:["a,b,c" , "x,y,z"]
进入外环,values1
首先是:"a,b,c"
所以,Instructions = Instructions + [values1.split(",")]
给出:[ ["a" , "b" , "c"] ]
然后,当你进入内部循环时,values2
起始为:[ "a" , "b" , "c" ]
换句话说,这是一个不支持拆分的列表。
除此之外,我实际上并不清楚你想用这段代码做什么(内循环的目的是什么?)。如果您的目标是获取列表清单,请完全删除该内部循环。如果你想要一个扁平列表,去掉[values1.split(",")
周围的方括号,这样你只需追加两个列表(并再次删除内部循环)。
使用'append()'将值添加到列表中。 – squiguy 2013-05-05 19:41:27
我不想添加值我想要使用xxx.split来打破列表。但它不会继续让我这样做 – Danrex 2013-05-05 19:44:42