forは使うけど内包表記でこう書くしかないんじゃないかな [x for x in obj if x not in dels] 0809デフォルトの名無しさん2018/06/08(金) 22:09:15.92ID:VohWRUJl あーなるほど これはいいですね 0810デフォルトの名無しさん2018/06/09(土) 00:10:36.97ID:Ns8l28oa >808 obj dels の要素数をN Mとして、計算量が、O(NM)になるよ。 N M が小さいうちはいいけど、大きくなると相当に遅いのでは。
obj dels がソート済みなら、尺取り法で、O(N+M)にできるよ。 毎回ソートする場合でも、O(N log N + M log M)に収まるよ。
なのかなるほどね 0824デフォルトの名無しさん2018/06/10(日) 08:03:22.50ID:eKIytbed 外部コマンドを実行する場合、commands.getoutputとsubprocess.callとどっちがよいの? 0825デフォルトの名無しさん2018/06/10(日) 08:06:40.10ID:eKIytbed 自己レス osやcommandsは古いから非推奨なのか 環境変数を取得するのにos.getenvを使ってるんだけど、他の方法に置き換えた方がよいの? 0826デフォルトの名無しさん2018/06/10(日) 22:21:13.16ID:dbzNV0oX そうね 0827デフォルトの名無しさん2018/06/11(月) 13:01:13.27ID:K1UP5N/E 三項演算子って何だ、まったく知らんぞい! なんかメリットとか有るのかな 0828デフォルトの名無しさん2018/06/11(月) 13:09:36.63ID:tK3aH3wF ●一行で書ける ●文ではなく式として扱える 0829デフォルトの名無しさん2018/06/11(月) 13:24:27.07ID:1B6gzu8+ pythonの三項演算式ってリスト内包に通ずるものがあるよな。 ある種の一貫性があるような無いような。 0830デフォルトの名無しさん2018/06/11(月) 13:26:51.12ID:urgYl6nk 三項演算子のネストをしたときに いつも優先順位が不安になる 0831デフォルトの名無しさん2018/06/11(月) 13:47:22.28ID:CFwM+3k+ 1 if A else 2 if B else 3
最初に評価されるのがAかBかってことだな。 Aっぽい気がするし試したら実際そうだったけど不安にはなるな。 0832デフォルトの名無しさん2018/06/11(月) 14:15:29.47ID:/EsUeVn+ switch文はいらんけど、switch式は欲しいな。 0833デフォルトの名無しさん2018/06/11(月) 14:47:50.68ID:K1UP5N/E なるほど、さすが皆様お詳しい 0834デフォルトの名無しさん2018/06/11(月) 14:59:00.26ID:539MWtkj 1 if A else 2 if B else 3 if C else 4 0835デフォルトの名無しさん2018/06/11(月) 16:43:43.91ID:K1UP5N/E Python3を始めたんだけど、これ面白いね。 他の人の書いたコードが読みやすいから参考にしやすい、勉強になるーー 他の言語は諦める。 0836デフォルトの名無しさん2018/06/11(月) 18:58:31.63ID:sTqEU8aL 俺はpythonのためにラテン語諦めることにした。 0837デフォルトの名無しさん2018/06/11(月) 19:41:26.87ID:EF9thOd6 改行しないと読みづらいよ
1 if A else 2 if B else 3 0838デフォルトの名無しさん2018/06/12(火) 11:34:08.14ID:QcOm+KSj 釣られないぞ! 0839デフォルトの名無しさん2018/06/12(火) 13:38:27.08ID:FVANZLpl おじいちゃん… 0840デフォルトの名無しさん2018/06/12(火) 17:09:43.65ID:bLF3+6cr>>835 ようこそ 0841デフォルトの名無しさん2018/06/12(火) 17:18:14.64ID:E+wkASA2 iOSのpythonista3でアプリ作り始めました。 画面の中のボタンを押すと、別のpyuiファイルをload_view()でcallして、 別の画面へ切り替わる、ということはできたんですが、切り替わる、というよりも 別ウィンドウが何個も立ち上がる、という状態になってるだけみたいです。 画面が切り替わる遷移ってどのメソッド使うのでしょうか? 0842デフォルトの名無しさん2018/06/12(火) 17:21:25.05ID:4WaLx3zk スクレイピングを非同期でしたいのですが for site in sites: if site.run_next <= now: run(site)
これの if site.run_next <= now を↓のようにするにはどうしたらいいですか? asyncio.wait([ task_run(site) for site in sites ])
恥ずかしながらこれでは上手くいってないようです t = [] for site in sites: if site.run_next <= now: t.append(run(site))
tasks = asyncio.wait(t) 08438412018/06/12(火) 17:26:17.13ID:E+wkASA2 こんな感じです。 それぞれのメソッドはAとBのpyuiに配置されたボタンに紐付いています。 import ui def return(sender): ui.load_view('A').present('sheet') def goto(sender): ui.load_view('B').present('sheet') v = ui.load_view() v.present('sheet') 08448422018/06/12(火) 18:18:15.86ID:4WaLx3zk すいません for site in sites if site.run_next <= now これでいけるのですね