私は辞書のリストを持っています。リスト内の各辞書には、例えば、同じキーを持っていますが、それぞれが異なる値を持っていますPython:リスト+ラムダの振る舞い
my_list = [
{key1: 100, key2: 110, key3: 120},
{key1: 200, key2: 210, key3: 220},
{key1: 300, key2: 310, key3: 320}]
私は新しいキーnew_key2
でkey2
を交換するには、次を使用:
list(map(lambda x: x.update({"new_key2": x.pop("key2")}), my_list))
コード作品とmy_list
です正しく更新されましたが、次の動作を理解できません:
my_list = list(map(lambda x: x.update({"new_key2" : x.pop ("key2")}), my_list))
この場合、my_list
が返されます次の値:
my_list[0] = None
my_list[1] = None
my_list[2] = None
なぜですか? 'list + map'関数でリストを取得してはいけませんか?
あなたのラムダ関数は、それはちょうどあなたがあなたのリストは次のようになりたいです何リスト – AK47
を更新任意の値を返すイマイチ? –