1 名前:デフォルトの名無しさん mailto:sageteoff [2017/02/04(土) 11:01:07.30 ID:koQjiQcQ.net] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その31 echo.2ch.net/test/read.cgi/tech/1476246889/ 関連スレ Pythonのお勉強 Part52 echo.2ch.net/test/read.cgi/tech/1483756857/ ◆関連リンク Python の Home Page ttp://www.python.org/ ◆長いコードはこういうところにはってください ttp://ideone.com/ ttp://codepad.org/ ttp://pastebin.com/ ttp://dpaste.com/ ttps://try.jupyter.org/ ◆まとめwiki ttp://python.rdy.jp/ ネットにはデマ情報がいっぱい残ってるので正しい情報をメモ cmd で UTF-8 使える方法 (chcp 65001 について) ttp://nazochu.blogspot.jp/2011/08/blog-post_26.html mintty ttp://dogmap.jp/2011/11/15/mintty/ mintty ttp://tanakh.jp/posts/2011-11-15-windows-terminal.html ↓ 色々紆余曲折あったけど Git インスコして GitBash 使うのが一番楽っぽい https://git-for-windows.github.io/
266 名前:デフォルトの名無しさん mailto:sage [2017/02/21(火) 23:57:33.11 ID:aFqTV30T.net] デバッガだけどIPythonのipdbってやつだと from IPython.core.debugger import Tracer; debug_here = Tracer() と書いておいて ブレイクポイントにしたいところにdebug_here()と書くといい ただ今回の用途ならデバッガよりもエラー処理を学んでログ出力したほうが断然効率いいよ apiの戻り値や加工処理結果を常にログ出力しておいてエラー発生時にもログ出力する
267 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 00:20:15.62 ID:jpUU0ydx.net] >>261 ええっ?!1ヶ月で1万円ですか? 格安過ぎて怖いのですが >>262 やっぱり都度エラーログを出力するようなのが遠回りなようで正解なのですね tracebackが発生した時はメールで送信とはしていたのですが、どこでエラーが発生しているか完全に突き止め切れずだったので。。。 ただ、どうしても一つずつの処理にエラーをキャッチする処理を書く以外に私には思いつかないです 数百行に数百回書くしか。。。 そういうものだと言われればそうなのですかとしか言いようがないのですが、私にはあまりに経験値がなさすぎて、経験者の方が取り敢えずこうしておくというノウハウがないので総当たり過ぎてちょっと辛いです あまりに迷子過ぎて教えて頂ける方がいるならば募集したい所なのですが、どこでやれば問題ないでしょうか? skypeで音声通話しつつ双方の都合の良い日に1時間〜3時間ほどの範囲で支払いはビットコインで行える等であればすぐにでもお願いしたいです スレの内容から逸脱した内容でしたら申し訳ありません
268 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 01:07:07.78 ID:0Zw166EC.net] クラウドソージングに投げてみよう ビットコインでは無理だけど
269 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 01:27:03.20 ID:NAcKQUQP.net] 現職マ歴4JavaPHPPythonScalaなワイが1万でコードレビューしてやるぞ どや
270 名前:デフォルトの名無しさん [2017/02/22(水) 01:44:25.92 ID:xbKot+oa.net] >>265 初心者の俺に助言を頼む じゃんけんゲーム 乱数要素ABC 配列に要素を登録して 出力(配列場所を基準)に+1で勝利評価 -1で敗北評価 等しいなら引き分け評価 配列最後の場合の評価は配列先端なら+1 残り 同等 全体の流れ (入力側)乱数要素ABC→CPU側乱数要素ABC出力→勝利判定 長くなったゴメン 評価式の時に 配列の順番を+1の式が、どう書けば良いのか解らないので教えて下さい m(;。_。)mオナシャッス
271 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 01:53:27.23 ID:fluTtG1x.net] たくさん難しい言葉が出てきて理解できないんだけど… となりのスレで見たことあるっぽいってのは置いといて まず何を入力して何を出力するのかもっと簡単に説明してよ
272 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 01:54:52.74 ID:NAcKQUQP.net] >>266 要件というか何がしたのかわからんから何ともだが その設計はおかしい
273 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 02:16:50.31 ID:jpUU0ydx.net] >>264 そういったサイトもあるのですね。 質問がピンポイントで的確になっている場合は利用してみたいと思います! >>265 レビューというと私のコードを見ていただいて、適宜修正案等を教示していただけるという事でしょうか? そちらも大変うれしいのですが、初心者特有の分からないが分からないなのでうまく質問出来るかも不安です。。。 あまりスレの内容に適していないと思いますが、一度だけご容赦下さい。 こちらはPythonからスタートしてプログラミングというそのものの知識がアベコベです。 スレに書いた内容に関しては独学で調べてどうにか動くプログラムまでは作成出来ていますが、基本的にこうすべきということが一切分かっていません。 Pycharmを主として使用していて、vagrant?virtualenv?仮想環境とはどういった場合に利便性があるのか Django、Bottle、Flask等のPythonwebフレームワークとは何なのか教示出来る方(知識0です) 基本的にエラーとはどう処理すべきでログはどう残しておくべきか 読むべきソースコードとその有用性と読んだ上での疑問点に答えていただける方 どれでも構わないのでSkypeを使用して音声による質疑応答に対応していただける方で 双方の素性は連絡手段以外に一切開示の必要がないよう対価はビットコインやギフト券等で応じていただける方 ご連絡下さると嬉しいです。 python☆btc☆challenge☆gmail.com 最初の二つはドットで三つ目は@です
274 名前:デフォルトの名無しさん [2017/02/22(水) 02:20:01.20 ID:xbKot+oa.net] >>268 嘘やろ? A=グー B=チョキ C=パー だから、+1,-1 で勝利判定できると思ったのに…… 自分側ABCのどれか一つ CPUの乱数ABCどれか一つ 自分の出した乱数からCPUの出した乱数の位置を基準に勝利判定したい 例 自分A相手Aで引きかけ 自分 A 相手 B (自分側の勝利) AB +1 自分 B 相手 A (相手側の勝利) 自分の負けとして相手を勝利させる BA -
275 名前:1 自分 C 相手 A (相手側の勝利) CA +1(先頭に戻る) [] [ここ壊れてます]
276 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 03:59:35.48 ID:fluTtG1x.net] >>269 チュートリアルとかを一通りやって1〜2冊本を読むのがいいと思う https://docs.python.org/3/tutorial/ https://docs.python.org/3.6/howto/logging-cookbook.html https://docs.python.org/2/howto/doanddont.html#exceptions フレームワークとか開発環境の話は後でもいい
277 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 07:36:16.56 ID:NAcKQUQP.net] >>270 ワロタ ABCってグチパのことかよ アンタの入力を返す関数 ランダムな数値を返す関数 数値によって決まった手を返す関数 引数2つの強弱判定してスコアを返す関数 この組み合わせでいけるだろ ABCを配列にする意味がない せめてEnumにすべき
278 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 10:56:27.32 ID:eMNezfX1.net] Haxe で書いた。Pythonに変換して try.haxe.org/#7e342 var JANK = [ "gu"=>1, "cho"=>2, "pa"=>3 ]; var player = "gu"; var cpu = "cho"; var num = (JANK[player] - JANK[cpu] + 3 ) % 3; trace( num ); var message:String; switch( num ) { case 1: message = "Computer Win!"; case 2: message = "Player Win!"; default: message = "Even!"; } trace( message );
279 名前:デフォルトの名無しさん [2017/02/22(水) 11:42:25.50 ID:NwTryTSd.net] haxeからpythonに変換できるだろ?何のためにhaxe使ってるの?
280 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 12:51:27.89 ID:gb4HH2mm.net] >>270 インポrandom ぢぶん = input("グーかチョキかパー") ifぢぶん ==グーなら0、チョキなら1、パーなら2 あいて = random.randint(0,2) if(ぢぶん-あいて+3)%3 0ならあいこ、1なら負け、2なら勝ちprint 一行で勝率判定できる(A-B+3)%3が知りたかっただけだろうけど。 あとこのじゃんけんのやつ、イルカ飛行机の入門書に丸ごと書いてある。あれは初心者におすすめの本
281 名前:デフォルトの名無しさん [2017/02/22(水) 13:36:43.38 ID:xbKot+oa.net] >>272 >>275 ありがとう、愛してるぜ!!(今だけ)
282 名前:デフォルトの名無しさん [2017/02/22(水) 16:52:13.42 ID:x0LXFWQg.net] >>276 井伊直虎か?
283 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 17:47:31.14 ID:jpUU0ydx.net] 当然なのでしょうがメールは頂けませんでした。。。 試行錯誤してみます! >>271 今使う覚えたい事しか覚えない性格でこうなっているのだと思うので 例示していただいたチュートリアルを一つずつやってみます! アドバイスありがとうございますm(__)m
284 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 21:46:11.92 ID:CgwYVmjb.net] 超初心者です、先生方教えてください! sqlite3で、 curs.execute("""SELECT * FROM hoge ORDER BY hage DESC LIMIT 変数, 25""") って具合に変数を組み込みたいのですが、どうすれば良いでしょうか。
285 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 21:57:23.86 ID:uSNnz1NM.net] >>279 こんなんでいいのか curs.execute("""SELECT * FROM hoge ORDER BY hage DESC LIMIT %s, 25"""%変数)
286 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 22:03:02.11 ID:CgwYVmjb.net] >>280 ありがとうございます。 それだとcannot operate closed cursorと言われて上手くいかないんです...
287 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 22:05:22.16 ID:fluTtG1x.net] 気をつけようSQL Injection https://docs.python.org/3.6/library/sqlite3.html
288 名前:デフォルトの名無しさん mailto:sage [2017/02/22(水) 22:12:19.37 ID:5qWR99AP.net] curs.execute("""SELECT * FROM hoge ORDER BY hage DESC LIMIT ?, 25""", (変数,))
289 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 08:00:40.21 ID:9j19p/xB.net] >>281 > それだとcannot operate closed cursorと言われて パラメータ云々以前の話じゃね?
290 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 09:40:01.23 ID:6aLFaur8.net] 一理ある
291 名前:デフォルトの名無しさん [2017/02/23(木) 11:06:02.78 ID:LR/71aIp.net] pip使ってインストールした時に依存するパッケージも一緒にインストールされますけど 例えばfacebook製tornadoなど。pip install tornado 更新する場合は-Uつけてますけどpip install -U tornado 依存するパッケージなども更新されるのでしょうか?
292 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 17:14:10.21 ID:boStFqTs.net] >>286 pip help installで-Uオプション見れば書いてるよ
293 名前:デフォルトの名無しさん [2017/02/23(木) 21:44:02.96 ID:XJ4ASJac.net] エラー処理の方法について質問です。 定期的に実行するスクリプトを作っているのですが、予期しないエラーが出た場合にどうやって通知をすればいいんでしょうか。 1.loggingを使って.logファイルに出力する 2.try文を予め組み込んでおいて、規定の処理以外が出た場合(エラー時)に通知をする 3.その他
294 名前:デフォルトの名無しさん [2017/02/23(木) 22:09:32.41 ID:KME3N98n.net] >>288 どうやって、定期的に実行するようにしてるのかと望む通知方法を書いた方がいい logを残すのとは通知をするのは別の話
295 名前:デフォルトの名無しさん [2017/02/23(木) 22:17:37.46 ID:h64OL8bZ.net] >>289 cronです。 今は規定の動作の場合のみ通知をしているのですが、想定外のエラーが起こったときに、その通知とバグの特定をしたいと思いまして。
296 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 22:17:43.63 ID:Q0T8wXh7.net] 好みなんだろうけど cronでシェル叩くなら、自分はlogに書くかな
297 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 22:38:48.91 ID:qeINelhJ.net] Mac上で例えばブラウザで選択されている文字を 取り込んでPythonで処理するような事を Pythonだけで行う事は可能でしょうか? 現状Automatorを介してPythonに引き渡して対応しています。 クリップボードに入っているテキストなら Python だけで行う事が出来るとこまでは調べて分かったのですが。 よろしくお願いします。
298 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:21:29.93 ID:v0zRNZ3l.net] >>290 想定外のエラーが発生したらE-mail等で自分に連絡するようにすれば良い
299 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:35:55.85 ID:c1QVdaUC.net] お前が監視するんだよ!
300 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:40:32.11 ID:02UQYlKd.net] これがそうだとは言わないが、 バイトを雇うのが最適解だなって時はあるよな
301 名前:デフォルトの名無しさん mailto:sage [2017/02/23(木) 23:42:55.89 ID:boStFqTs.net] >>292 Pythonだけでの想定範囲にもよるけど基本無理じゃね? Automatorの代替でAppleScript使うか Pythonスクリプトを実行できるようなブラウザのアドオンを探すか JavaScriptを実行できるようなアドオンはそこそこあると思うよ
302 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 00:10:44.14 ID:hcCi+TdT.net] >>288 ログ出力するかどうかとtry/exceptでエラーをハンドリングするかどうかは独立した項目だよ エラーハンドリングは最初にエラーの種類とそのエラーが発生したときにどう対処したいかを考える エラーの種類ってのはざっくり言うとビジネスエラーかシステムエラーかと回復可能か回復不能か どう対処したいかはアプリケーションを停止させたいとかリトライしたいとか ログだけ残してアプリは継続稼働させたいとか で下位のレイヤーで発生したエラーは何でもかんでもとりあえずログだけ出力してアプリを停止したいとかなら 一番上位のmain関数的なところでそういうハンドリングをするtry/exceptを書けばいい ハンドリングしたいところでだけtry/exceptを書く エラーの種類
303 名前:ノついてはいろんな分け方・考え方があるから詳しく知りたければググって [] [ここ壊れてます]
304 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 00:20:30.65 ID:aFzxanwK.net] >>296 無理でしたか、ありがとうございました!
305 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 00:52:01.89 ID:wGBUe+Mz.net] ブラウザーをエミュレートすれば? Selenium WebDriver とか、 Rails4 + Capybara + PhantomJS (poltergeist)
306 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 01:07:03.31 ID:hcCi+TdT.net] >>299 文字を選択するところが自動化できないから今のやり方してるんじゃない?
307 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 03:16:34.05 ID:wxgF2xWD.net] スクレイピングでは対応できない感じの処理なのかな?
308 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 03:20:15.41 ID:Qm5h7Mta.net] エッチなファイルの名前漬けやろ
309 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 08:45:36.42 ID:VfqFzJAP.net] >>292 テキストだけなら、ブラウザPythonで自作しちゃえば。そんなに、むずかしくないよ
310 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 09:28:40.78 ID:PzeYdyhy.net] Google検索結果で表示されるサイト一覧をクロールしてたのですが、何件かやるとbot判定されたようでキャプチャーに入力を求められます。 回避する方法など無いでしょうか?
311 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 09:51:51.73 ID:CMR8Gyi/.net] Googleのrobots.txtを見るとわかるように、検索結果のクロールは禁止されている その上でどうしてもやりたいならクロール頻度を落として様子を見る 10秒に1ページ開く程度まで低速にすればまずばれまい
312 名前:デフォルトの名無しさん [2017/02/24(金) 11:23:35.02 ID:LPigsurN.net] >>290 cronなら出力をメールで送れるように設定できる MAILTO
313 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 12:43:21.15 ID:YZGHPd2K.net] >>290 通知の話とエラー解析の話は別だよ 通知は >>306 の言うように cron の設定 エラー解析のためのログ等はプログラムによるとしか言えない
314 名前:デフォルトの名無しさん mailto:sage [2017/02/24(金) 13:07:05.86 ID:dZjvDhSd.net] Python3.5で標準ライブラリtraceback周りが改良されて 例外時のコールスタック各段階のglobalsとlocalsが得られるようになってるね
315 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:32:50.53 ID:HesvebqU.net] win10+py3.6(anaconda4.3)だとtensorflow入らないんだけど py3.6維持したまま3.5(とtensor)インスコできたりしないですよね? おとなしくanaconda4.2に戻すべき?
316 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 00:40:30.26 ID:IvVV1H8V.net] anyenvとかpyenvとかじゃだめなん?
317 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:04:36.03 ID:ZZ7bz2+n.net] pipとかpyenvとかanalcondaとかanyenvとか もうなんなんなんだよ!!
318 名前:デフォルトの名無しさん [2017/02/25(土) 01:08:40.34 ID:mPXEoMFs.net] pyenv analconda git はいまだに使い方わかんねーわw
319 名前:デフォルトの名無しさん [2017/02/25(土) 01:13:25.60 ID:m3mFnvdx.net] >>312 すごい予測変換だな
320 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 01:14:56.04 ID:IvVV1H8V.net] stackoverflow.com/questions/38217545/the-different-between-pyenv-virtualenv-anaconda-in-python qiita.com/oct_itmt/items/2d066801a7464a676994 しれっとLを入れるなLを
321 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 06:50:45.26 ID:bDlVJdoV.net] 尻の穴みたいなディストリだと思ってるから発言に出てきたのだろう
322 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 08:57:43.71 ID:IuYyalJ8.net] 古い人間なので、文字コードと言ったらシフトジスしか知らない世界に生きてきた ゆえに近年広まってきたユニコード勢力が恐ろしくてたまらない スクリプトはシフトジスが標準のエディタで書いているし、処理するデータもシフトジスだ そういう職場でPython3.3で運用しているスクリプトがたくさんあるのだけど もし3.6にしたら、エラーを吐いたり誤動作したり、Pythonが吐き出す テキストが勝手にユニコードになったりするのだろうか? >PEP 528 and PEP 529, Windows filesystem and console encoding changed to UTF-8. この文が死刑宣告に見えてしまう スクリプト先頭に #coding:cp932 があれば大丈夫?
323 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 10:26:44.63 ID:bBHLw00I.net] >>304 今のgoogleはきついよね 俺もやろうとしたけど何やっても回避できなかった 諦めてyahooから取得してる >>305 1分以上3分以内の間隔のランダムスリープでも駄目だったよ 間隔とかじゃなくてなんか違う方法でbot判定してるっぽい
324 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 10:39:42.28 ID:g1o1M7kt.net] 素直にAPI使おうぜって事やないの
325 名前:デフォルトの名無しさん [2017/02/25(土) 10:40:28.66 ID:ISi/aKp5.net] >>309 windowsでpythonの3.6と3.5を共存したい理由って何? linuxとかでマイナーバージョンを共有することでもあなりしないのに windowsでそんなことしてどうするの?
326 名前:デフォルトの名無しさん [2017/02/25(土) 10:46:33.95 ID:ISi/aKp5.net] >>309 あとどうしてもpython 3.6でtensorflow使いたいなら自力で https://github.com/tensorflow/tensorflow/issues/6999 特定のライブラリ使いたいためだけにpython 3.5と3.6を入れるようなことはあまり感心できないね
327 名前:デフォルトの名無しさん [2017/02/25(土) 10:48:29.69 ID:ISi/aKp5.net] >>316 >もし3.6にしたら、エラーを吐いたり誤動作したり、Pythonが吐き出す >テキストが勝手にユニコードになったりするのだろうか? 憶測で語らないでね 実際にトライしてトラブルになったら聞きに来てね
328 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 11:01:58.61 ID:8zKCV9EA.net] >>318 api100件までの制限ある
329 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 11:18:40.11 ID:6KEih4jH.net] >>316 3.6からコンソール入出力とファイルパスで使うエンコーディングが ANSI(日本語環境では通常Shift_JISあるいはCP932)からUTF-8に変わった 以前の挙動に戻したいなら環境変数PYTHONLEGACYWINDOWSSTDIOや PYTHONLEGACYWINDOWSFSENCODINGを設定してインタプリターを起動する https://www.python.org/dev/peps/pep-0528/#add-legacy-mode https://www.python.org/dev/peps/pep-0529/#add-legacy-mode スクリプト先頭にマジックコメント書くのは ソースファイルのエンコーディング指定なのでPEP 528、529とは無関係
330 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 12:04:00.62 ID:ZgRLWjLK.net] 課金した者だけ許可されるんじゃなかったっけapi経由での検索結果大量取得って
331 名前:デフォルトの名無しさん [2017/02/25(土) 13:00:52.44 ID:5nIvEaeP.net] 文字列操作なんですけど、re.splitやre.subを使わずに、split()やreplace()を使う理由って何ですか? 文字列操作は正規表現を使ったほうが、便利だと思うんですけど、そうじゃない理由があるんでしょうか
332 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 14:06:45.15 ID:6KEih4jH.net] 正規表現は表現力に優れているけどスニペットのベンチマークを測ると文字列メソッドの方がはやい だから使い分ける必要がある $ /opt/py36/bin/python3 -m timeit -s "import re" "re.split(' ', 'FOO BAR BAZ QUX HOGE PIYO')" 100000 loops, best of 3: 2.43 usec per loop $ /opt/py36/bin/python3 -m timeit "'FOO BAR BAZ QUX HOGE PIYO'.split(' ')" 1000000 loops, best of 3: 0.761 usec per loop $ /opt/py36/bin/python3 -m timeit -s "import re" "re.sub(' ', '/', 'FOO BAR BAZ QUX HOGE PIYO')" 100000 loops, best of 3: 3.1 usec per loop $ /opt/py36/bin/python3 -m timeit "'FOO BAR BAZ QUX HOGE PIYO'.replace(' ', '/')" 1000000 loops, best of 3: 0.378 usec per loop
333 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 18:49:43.49 ID:bDlVJdoV.net] 大富豪的プログラミングだったら気にしなくていいだろ 赤貧的プログラミングならC言語とか使った方がいいな
334 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 20:42:23.78 ID:NP4giB73.net] >>327 大富豪的・赤貧的プログラミングに笑っが、でも、その通りだよな
335 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 22:01:39.15 ID:IvVV1H8V.net] 中産階級だからstring.split/replace使うことにする
336 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:35:56.30 ID:eR24TyuO.net] .split()メソッドって区切り文字無しで一文字ずつ分けることできないの?
337 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:38:18.36 ID:Ot4yoOgj.net] list('ABC')やforで1文字ずつになるよ
338 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:42:59.11 ID:IvVV1H8V.net] 区切り文字を指定しなければwhitespaceで分割されるよ 'FOO BAR BAZ'.split() #=>[‘FOO', 'BAR', 'BAZ']
339 名前:デフォルトの名無しさん mailto:sage [2017/02/25(土) 23:44:51.91 ID:eR24TyuO.net] サンクス。スゲー、list("abc")って [“abc”]にならないんだ不思議 わざわざ内包表記で[i for i in “abc”]ってしてたわ
340 名前:デフォルトの名無しさん [2017/02/26(日) 00:57:35.18 ID:Z6GpW5ZG.net] 文字列が、primitive じゃなく、iterable なんだろう
341 名前:デフォルトの名無しさん [2017/02/26(日) 05:56:54.75 ID:2i1axQxa.net] python3.5系列をインストールしてほかにもパッケージ追加したりして使ってます。 pipを使っていろいろパッケージを追加したりしていたのですが、tensorflowがうまく導入出来ませんでした。 そこでAnacondaをインストールしようとおもうのですが、そのまま普通にインストールしても大丈夫ですか? これまでに入れているpythonやその他のパッケージと競合してしまわないか心配です。
342 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 07:51:30.11 ID:bUk9ykN5.net] osは何?winならそのままインストールしてOK
343 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 19:35:14.58 ID:KW1jvSVj.net] python3でqt5を使いたいんですけど使い方を調べてもあまり出てきません。どこを見て作ればいいのでしょうか
344 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 19:48:24.48 ID:JlxiU+ns.net] https://wiki.python.org/moin/PyQt
345 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 20:35:13.74 ID:qbYqdhND.net] tes=[1,2X,3,太郎5,6]みたいなintと複数の文字種のstrが混ざってるリストがあります strが太郎なら4、それ以外の文字なら0に置き換えて 全部int型のtes=[1,2,0,3,4,5,6]みたいにしたいんですが、どういうやり方が簡潔でしょうか 要素の順番は上記のような置換場所を保持したいというか、ゴチャゴチャにできません
346 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 20:49:35.32 ID:vMjLm6yK.net] >339 リストの二番目は、2Xになっているけど、2, Xの誤記という理解でいいかな?
347 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 20:51:13.78 ID:vMjLm6yK.net] >340 より細かく言うと、2, "X" か。
348 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 21:39:14.90 ID:uA6QDUs5.net] tes = [1, 2, 'X', 3, '太郎', 5, 6] L = [x if type(x) is int else 4 if x == '太郎' else 0 for x in tes] print(L) こうかな
349 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 21:56:12.56 ID:+I4Nnlvd.net] forとifとアペンドの組み合わせでいいんじゃね
350 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 21:57:45.64 ID:+I4Nnlvd.net] ほんとリスト内包表記糞杉内
351 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 22:04:11.50 ID:uA6QDUs5.net] 内包表記はいいけど、3項演算子みたいな書き方が見にくいな tes = [1, 2, 'X', 3, '太郎', 5, 6] for i, x in enumerate(tes): if type(x) is str: if x == '太郎': tes[i] = 4 else: tes[i] = 0 print(tes)
352 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 22:10:02.46 ID:+I4Nnlvd.net] >>345 再代入してはいけない(戒め) src = [1, 2, 'X', 3, '太郎', 5, 6] dst = [] for x in src: if type(x) is str: if x == '太郎': dst.append(4) else: dst.append(0) else: dst.append(x) print(dst)
353 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 22:30:38.24 ID:/2VmdLBu.net] なんでintかどうかじゃなくstrかどうかからチェックしてるの?
354 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 22:49:04.24 ID:dCBTOlVh.net] >>342 3項演算子使ったそれ読みにくいな まぁ、3項演算表記自体が俺は好きじゃないからな
355 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 23:02:51.45 ID:dCBTOlVh.net] >>347 処理するものを明確にしたいからだろ intは何もしない strは処理をする なら,str処理コード書いたほうが良いよなって感じだろ
356 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 23:33:23.36 ID:/2VmdLBu.net] >>349 なるほどね そういう考え方か 万が一floatとかが入ってた時にどうしたいのか次第だね
357 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 23:37:21.56 ID:/2VmdLBu.net] 読みやすさ的には変換処理を関数にして リスト内包表記なりmapなりするのが良さそう
358 名前:デフォルトの名無しさん mailto:sage [2017/02/26(日) 23:53:22.41 ID:H0vEppIh.net] C風の?:の三項演算子の方が好き
359 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 00:07:38.26 ID:qjhVDLKY.net] >>346 なんで再代入したら、いかんの? メモリ節約できていいじゃない?
360 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 00:52:18.44 ID:HtNOCsJ/.net] リストの書き換えや再代入はバグの温床 メモリ節約したいならCでも使え
361 名前:デフォルトの名無しさん [2017/02/27(月) 05:54:37.43 ID:RwLDhDHl.net] ideone.com/iSjV7g ideone.com/ehdzSj
362 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 08:45:30.29 ID:HwAqiqRw.net] いわゆる宣言的に書きましょうというやつですね
363 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 08:50:51.24 ID:qIyoXB+n.net] >>354 なるほど ありがと
364 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 10:38:19.21 ID:cQVaqrK/.net] スペルミスを完璧に拾ってくれるならそれでもいい
365 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 16:10:34.51 ID:ADDVNKtI.net] >>355 そのRubyのコードはちょっと.. 三項演算子かCase文で ideone.com/58eS5t
366 名前:デフォルトの名無しさん mailto:sage [2017/02/27(月) 20:14:01.12 ID:qiZwo82Q.net] とあるサイトの訪問歴のデータをindexにIDを、カラムに日付、訪問歴を0か1に加工し値としたデータフレームにしたのですが 連続何日訪問がなれけば以後訪問がないかどうか分析をしたいです こういった場合どういう文を書けばいいですか?