万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Python MongoDB リスト内包表記でdel文を使いたい

    u'username': u'User 01', u'_id': ObjectId('53f4125e8c92eb815be3ce07'), u'username': u'User 02', u'_id': ObjectId('53f4125e8c92eb815be3cc09') みたいなデータが入っている場合。

    このデータをリストにしたいけど、_idとかが邪魔なのでこれを省く時の話。

    MongoDBさんはu'_id'が邪魔。 del x[u'_id']とかで取っ払いたい。

    しかしdelを入れることが出来ない?

    res_list = [x for x in room_mate if not u'_id' in x] とすれば消すというよりそもそも条件からu'_id'を外すのでこれでOKかな?

    っと思ったが、これだとu'_id'を含む列がそもそも入らない・・・

    lambdaを使う?ラムダ式とか式なら使えるっぽい。 popも関数なので式なのでpopを使う? del文は文だから文は使えない?

    python - Deleting key/value from list of dictionaries using lambda and map - Stack Overflow を見た。

    res_list = [(lambda x: x.pop(u'_id')) for x in room_mate] コレでエラーが出ない。

    ちなみに、文と式の違いはここのはてなブログがいいかも? Pythonでの式(Expression)と文(Statement) - minus9d's diary

    パーフェクトPython (PERFECT SERIES 5)

    パーフェクトPython (PERFECT SERIES 5)