Python 配列の要素にforでカウントアップしたdict型を入れる
概要
配列の要素にforでカウントアップしたdict型を入れる
問題
最初は下記のソースではカウントアップさせた最後のdict型のみしか出力されなかった。
import json def lambda_handler(event, context): # TODO implement array_list = [] sample_dict = {} sample_dict["Name"] = "Yamada" sample_dict["Address"] = "Tokyo" for nm in [1,2,3,4]: sample_dict["No"] = nm array_list.append(sample_dict) return array_list
下記、出力結果。Noの要素がすべて4になってしまってる。
[ { "Name": "Yamada", "Address": "Tokyo", "No": 4 }, { "Name": "Yamada", "Address": "Tokyo", "No": 4 }, { "Name": "Yamada", "Address": "Tokyo", "No": 4 }, { "Name": "Yamada", "Address": "Tokyo", "No": 4 } ]
解決策
下記のようにappendで渡すdict型にcopy()を使用すると解決しました。
import json def lambda_handler(event, context): # TODO implement array_list = [] sample_dict = {} sample_dict["Name"] = "Yamada" sample_dict["Address"] = "Tokyo" for nm in [1,2,3,4]: sample_dict["No"] = nm array_list.append(sample_dict.copy()) return array_list
下記、出力結果
[ { "Name": "Yamada", "Address": "Tokyo", "No": 1 }, { "Name": "Yamada", "Address": "Tokyo", "No": 2 }, { "Name": "Yamada", "Address": "Tokyo", "No": 3 }, { "Name": "Yamada", "Address": "Tokyo", "No": 4 } ]
参照
chownコマンド
概要
指定したファイルやディレクトのユーザやグループの所有者変更を行うコマンド
オプション一覧
オプション | 意味 |
---|---|
-R | ファイルとディレクトリを再帰的に変更 |
-h | シンボリックリンクそれ自身を変更 |
-v | 処理した内容を出力 |
-c | 変更が行われた場合のみ処理内容を出力 |
-f | ほとんどのエラーメッセージを出力しない |
使用例
「aaa.txt」をuser1というユーザに変更(グループの変更なし)
chown user1 aaa.txt
「ccc.txt」をuser1 のユーザ、group1 のグループに変更
chown user1:group1 ccc.txt
「eee」ディレクトリ内を再帰的にuser1 のユーザ、group1 のグループに変更
chown -R user1:group1 eee