1

わかりましたので、既に分割したリストから別のリストを作成する必要があるという問題があります。これがコードです。

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]

Instructionsリストを作成すると機能しますが、これをさらに試してnewListsを作成すると、このエラーが発生します=>エラーは: 'list' object has no attribute 'split' Attribute not found. 存在しないオブジェクトの一部にアクセスしようとしています。

同じリストを分解し続ける必要があります。また、私はこれに非常に慣れていないので、慎重に説明してください。

4

2 に答える 2

1

問題は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" ]

つまり、分割をサポートしていないリストです。

それ以上に、このコードで何をしようとしているのかは実際にはわかりません (内側のループの目的は何ですか?)。あなたの目標がリストのリストを取得することである場合は、その内部ループを完全に削除してください。1 つのフラットなリストが必要な場合は、2 つのリストを追加するだけになるように角かっこを削除し[values1.split(",")ます (また、内側のループを削除します)。

于 2013-05-05T19:57:17.193 に答える