PythonでUnderscore.jsのような配列操作
PythonでUnderscore.jsのような配列操作 : JavaScriptで書いてると、Underscore.jsがとても便利でしてな(´・ω・`) Pythonで配列操作やろうとした時に迷うことが多いので、自分用に対応表を作っておくことにしました。いいやり方見つけるたびにアップデートしていこうと思います。 基本的な配列操作(append/insert/pop/extend/+/*/スライス)は省略。 対応表 Underscore.js Python 結果(Python) 動作 _.indexOf([1, 2, 3], 2) [1, 2, 3].index(2) 1 配列のどこにあるかインデックスを返す。なければ-1 _.lastIndexOf([1, 2, 3, 2], 2) (lambda array, val: len(array)-1 - array[::-1].index(val))([1, 2, 3, 2], 2) 3 配列の後ろから検索してindexを返す。なければ-1。Python版は逆順配列を新たに作るので巨大な配列には使用しない _.find([1, 2, 3], (val)=>{ return val == 2; }) next((val for val in [1, 2, 3] if val == 2), None) 2 配列の中に条件の合う値が存在すればそれを返す。無ければundefined/None _.contains([1, 2, 3], 2) 2 in [1, 2, 3] True 配列に含まれるかどうかbooleanで返す _.every([1, 2, 3], (val)=>{ return val < 10; }) all(val < 10 for val in [1, 2, 3]) True 配列の内容が全て条件に当てはまるか _.some([1, 2, 3], (val)=>{ return val < 2; }) any(val < 2 for val in [1, 2, 3]) True 配列の内容が1つでも条件に当てはまるか _....