ray88’s diary

お仕事で困ったとき用の自分用の覚書

Python リストの内包表記 for in を複数含める

python 目次 - ray88’s diary
■ネスティングしたリストの要素を全て取り出して2倍にしたリストを作成する

#リストを設定
data = [[1,2,3,4],[5,6],[7,8,9]]
# ネスティングしたリストの要素を全て取り出して2倍する
result = [n * 2 for a_List in data for n in a_List]
#出力結果
print(result)


※上記のコードを内包表記を使用しないパターンで書いた場合

#リストを設定
data = [[1,2,3,4],[5,6],[7,8,9]]
result = []
#要素の数値を2倍してresultリストに追加する
for a_List in data:
    for n in a_List:
        result.append(n * 2)
    #出力結果
print(result)


■元のネスティングを保ったままで要素の値を2倍にしたリストを作る

#リストを設定
data = [[1,2,3,4],[5,6],[7,8,9]]
result = [[n * 2 for n in a_List] for a_List in data]
print(result)


※上記のコードを内包表記を使用せずに書いたコード

#リストを設定
data = [[1,2,3,4],[5,6],[7,8,9]]
result = []
for a_List in data:
    temp = []
    for n in a_List:
        #要素を2倍してtempリストに追加
        temp.append(n * 2)
    else:
        #resultリストにtempリストを追加
        result.append(temp)
print(result)


Python For文 繰り返した後で実行する for in ~ else - ray88’s diary