質問: [6,[5,[1,2]],4,[3,0]] と入力した時、2 を出力するための入力として正しいものを選びなさい。 正解: list[1][1][1]
回答: いろんな入力を与えた場合、どんな出力が得られるのか考えてみます。 ``` list = [6,[5,[1,2]],4,[3,0]] list[0] #6 list[1] #[5,[1,2]] list[2] #4 list[3] #[3,0] ``` このように、リストA([6,[5,[1,2]],4,[3,0]])の中にリストB([5,[1,2]])が入っている場合、 リストBはリストAの1要素として扱われます。 2はlist[1]の中に含まれているので、さらに深く考えていきます。 ``` list[1]=[5,[1,2]] list[1][0] #5 list[1][1] #[1,2] ``` 今度は、リスト[5,[1,2]]の中にリスト[1,2]が入っており、 [1,2]は[5,[1,2]]の1要素として扱われます。 そして、[1,2]について考えると以下のようになります。 ``` list[1][1]=[1,2] list[1][1][0] #1 list[1][1][1] #2 ``` というわけで、入力としてlist[1][1][1]を与えると出力2が得られます。 一方、 **リストの次元数は、「リストの中にリスト」がどのくらい深く存在するか**によって決まります。 リストが1つだけだったら1次元、(例:[1,2,3,4,5]) リストAの中にリストBがあれば2次元、(例:[1,[2,3],4,5]) リストAの中にリストB、更にリストBの中にリストCがあれば3次元となります。(例:[1,[2,[3,4]],5]) 質問にあるリスト[6,[5,[1,2]],4,[3,0]]の場合、 [6,[5,[1,2]],4,[3,0]]の中に[5,[1,2]]、 [5,[1,2]]の中に[1,2]があります。 ですから、[6,[5,[1,2]],4,[3,0]]の次元数は「3」となります。 ご参考になれば幸いです。