python LIST まとめ 一つづつ見ていく3DLIST[[[]]]

職業プログラマーじゃないのでpython勉強してから時間があくと(数ヶ月とか)決め事というか文法を忘れてしまう。

リストの2次元配列って[][]と[[]]どっちだっけ?

[[],[]]と[[][]]両方あるっけ?

ということでリストの備忘録.

しかし、勉強したときまとめても、後で見返すと分からない。

コメント入れても、見返すときは有用なコメントに成ってないんだわこれが.

ということでコメントじゃなくて、一個づつ進めていくのをやる.

#-------------------------------------------------------------------------------
# Name:       list-3d-step
# Purpose:リストの表記とインデックスを理解する
# Author:      leoco
# Created:     29/04/2020
# Copyright:   (c) leoco 2020
# Licence:     free
#-------------------------------------------------------------------------------
school_list=[
 ['中等部',
 ['1年',['梅組','桜組']],
 ['2年',['松組','竹組']],
 ['3年',['楓組','桐組']]],
 ['高等部',
 ['1年',['杉組','桧組']],
 ['2年',['柏組','栗組']],
 ['3年',['楢組','葱組']]]
 ]
#要素を階層別に書き出してみる
for i in school_list :
    print(i)
    if type(i) is str:#文字列も1文字づつに分解されてしまうので、それを避ける処理
       continue
    for j in i:
        print(j)
        if type(j) is str:
           continue
        for k in j:
            print(k)
            if type(k) is str:
               continue
            for l in k:
                print(l)
                if type(l) is str:
                   continue
                for m in l:#A組,B組はstrなので実行されない
                    print(m)

input('今度は1ステップずつ実行 (ENTERキーを押してくれ)')
a=-1
b=-1
c=-1
d=-1

for i in school_list :
    a+=1
    stri='school_list[{}]= '.format(a)
    print(stri,end='')
    print(i)
    for j in i:
        b+=1
        strj='school_list[{}][{}]= '.format(a,b)
        print(strj,end='')
        print(j)
        input('push enterkey')
        if type(j) is str:
           continue
        for k in j:
            c+=1
            strk='school_list[{}][{}][{}]= '.format(a,b,c)
            print(strk,end='')
            print(k)
            input('push enterkey')
            if type(k) is str:
               continue
            for l in k:
                d+=1
                strl='school_list[{}][{}][{}][{}]= '.format(a,b,c,d)
                print(strl,end='')
                print(l)
                input('push enterkey')
                if type(l) is str:
                   continue
                for m in l:#A組,B組はstrなので実行されない
                    print(m)
            d=-1
        c=-1
        d=-1
    b=-1
    c=-1
    d=-1



 

 

school_list[0]= ['中等部', ['1年', ['梅組', '桜組']], ['2年', ['松組', '竹組']], ['3年', ['楓組', '桐組']]]
school_list[0][0]= 中等部

school_list[0][1]= ['1年', ['梅組', '桜組']]

school_list[0][1][0]= 1年

school_list[0][1][1]= ['梅組', '桜組']

school_list[0][1][1][0]= 梅組

school_list[0][1][1][1]= 桜組

school_list[0][2]= ['2年', ['松組', '竹組']]

続く

 

いやー in 演算子 いい仕事するね。

for x in y:だけで、yを分析して1個だけ要素を取り出してくれるんだから便利すぎる。

ソース見たら if が1000個位あるんだろうと想像する。

コメント

タイトルとURLをコピーしました