1 名前:デフォルトの名無しさん [2020/01/02(木) 15:56:54.08 ID:ZUrZA+uS.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ ☆「Ruby では」「Rubyでは」をNGワード登録推奨 このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 ★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので ↓等のてきとうなソースコード用うpろだに貼ってきてください。 スクショをImgur等にうp といった 手抜き(クソ行為)禁止。 ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう ◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と 実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。 ◇Python公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/ 〇前スレ〇 くだすれPython(超初心者用) その45【Ruby禁止】 https://mevius.5ch.net/test/read.cgi/tech/1571188632/
583 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:29:20 ID:fRmEVRio.net] 568 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 21:20:07.67 ID:U6aZQoQk 質問者はリストにin演算子使うと遅いって話と混同してるんじゃないかと そっちは遅くて当たり前なんだが、forでsetより遅くなる道理はないと思うが 570 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 23:21:11.41 ID:U6aZQoQk >>569 setはハッシュ値で格納位置を一発で割り出す リストは要素をすべて舐め回して探す この辺の説明を ID:U6aZQoQk がちゃんとすれば良いんだと思う
584 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:38:58 ID:8uBZGbTk.net] 逆になにがわからないのかわからないんだが
585 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:42:34 ID:fRmEVRio.net] 分かるまで、みんなの話を聞いていたら
586 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:44:23 ID:fRmEVRio.net] 553 名前:デフォルトの名無しさん[sage] 投稿日:2020/02/09(日) 12:11:02.39 ID:vWZlCr2H list = [1,2,3,4,5,6,7,8,9,10] というリストがあった場合 for i in list: とするよりも for i in set(list): とする方が高速ですか? それとも、setに変更しても元々がリストなので早くならないですか? これが最初の質問
587 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:47:57 ID:fRmEVRio.net] この質問で想定される回答は for i in set(list):の方が高速 どちらも変わらない set 使わない方が高速 この三通りじゃないかと思うが
588 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:55:55 ID:cKG4UD69.net] >>580 俺も何がわからないのかわからん in演算子が何かわかってないから >>568や>>570に書いてることが理解できないんじゃないかな と想像してみる
589 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 17:59:57 ID:cKG4UD69.net] >>583 それはもう回答が出てるでしょ んで普通に考えたらsetにしたほうがが速いという考えにはならないのに setのほうが高速かもしれないと思ってしまってるのは for loopのfor x in fooの`in`と contains(foo, x)を演算子にしたin演算子の`in`とを勘違いしてるんじゃない? ってコメントが>>568
590 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:20:13.36 ID:fRmEVRio.net] 回答までにしか興味は無いです 後は、妄想も含めた雑談なわけだし
591 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 18:21:49.94 ID:8uBZGbTk.net] >>584 そういうことかね >>585 前にQiitaでリストにin演算子使うと遅いっていう記事がバズってたからね そういうの見て質問者が漠然とリストはsetより遅いって思い込んでしまった可能性はあるね
592 名前:デフォルトの名無しさん [2020/02/10(月) 19:06:26.64 ID:NX1L632S.net] >>584 質問者ですがそうです setのforループの方が早いのかと思い込んでいました >>574 で自分の勘違いに気づいたところです
593 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:34:40.34 ID:TAH0RZ5f.net] >>583 ケースバイケース っていう可能性もあるかと
594 名前:デフォルトの名無しさん mailto:sage [2020/02/10(月) 19:44:21.91 ID:fRmEVRio.net] >>589 ハッシュキーが衝突したレコードが大量にあるとか、かな?
595 名前:デフォルトの名無しさん [2020/02/11(火) 10:10:26.19 ID:QVEssOx9.net] ちっちゃい質問かもなんですが かっこ閉じ際の位置ってpython的にはどこが良いですか? 例えば def kakko(a,b): ____a+b というdefを使うときに行の最後にかっこをつけるか kakko( ____1+2+3+4, ____5+4+6+7) 改行してかっこの中のインデントに合わせるか kakko( ____1+2+3+4, ____5+4+6+7 ___) kakkoのインデントに合わせるのか kakko( ____1+2+3+4, ____5+4+6+7 )
596 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 10:24:42.95 ID:iLli/Di+.net] >>591 pythonの思想は1行で処理だから改行すな
597 名前:デフォルトの名無しさん [2020/02/11(火) 10:30:13.65 ID:KtXysiBK.net] kakko( ____1+2+3+4, ____5+4+6+7) または kakko(1+2+3+4, ____5+4+6+7)
598 名前:591 [2020/02/11(火) 11:02:07 ID:QVEssOx9.net] >>592 ですよね・・・ そうなると式が長くなる時は かっこの前に分かり易い名前をつけて さきに計算しておいたほうが良いですか? kakko_a = 1+2+3+4 kakko_b = 5+4+6+7 kakko(kakko_a,kakko_b) >>593 ありがとうございます かっこ閉じは改行で分離しない方が良いんですね
599 名前:デフォルトの名無しさん [2020/02/11(火) 11:07:02 ID:BVyNsmkt.net] 実運用としてはblackとかyapfにフォーマットさせてそれに従っとく
600 名前:591 [2020/02/11(火) 11:51:51 ID:QVEssOx9.net] >>595 これ使えば悩まなくて済みそうです。 ありがとうございます!!
601 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 12:22:58.77 ID:Nq1ZGiCx.net] pythonの流儀・作法に従うのが一番いい もしもどうしてもやりたいなら他のメジャーな流儀を真似る WINAPI とは何か? - C/C++ 入門 https://c.keicode.com/windows/windows-programming-11.php int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) {
602 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 13:52:28.79 ID:YRn6ep9S.net] >>597 >pythonの流儀・作法に従うのが一番いい そのpythonの流儀・作法を聞いてるのになぜそれに答えずC++のそれもWIN32API持ってくんの?
603 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 14:25:45.03 ID:L4MHQKAq.net] Pythonの初級を受けた人いますか? どのような勉強されたか教えてください m(__)m
604 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 15:36:18 ID:lGXjI99c.net] 継承クラスのinitの引数が増える場合はどうしたらいいですか? class person(): def __init__(self, age): this.age = age class student(person): def__init__(self, age, number) this.age = age this.number = number こんな感じにしたいのですが。
605 名前:デフォルトの名無しさん [2020/02/11(火) 15:56:30.44 ID:BVyNsmkt.net] >>599 ぱいそんのしかくしけんはひとつだけじゃないんだ きみがいっているのはどのしけんのしょきゅうかな?
606 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 15:58:27.34 ID:RWYSN8yj.net] >>599 何にも勉強せずに一度受けてみるとよい 試験の雰囲気と問題の内容と自分の実力がわかる それを踏まえて備えれば二回目は受かる
607 名前:デフォルトの名無しさん [2020/02/11(火) 15:59:40.15 ID:BVyNsmkt.net] >>600 Student側でsuper().__init__(age)するだけじゃねーの ああ、基底クラスの__init__を呼ぶ方法が分からんのかな?
608 名前:デフォルトの名無しさん [2020/02/11(火) 16:01:24.03 ID:BVyNsmkt.net] それにしても、金になると思うとすぐ資格ビジネス屋が群がりやがって
609 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 16:52:49.23 ID:RUM4eNEQ.net] a1 = 0, a2 = 0, a3・・・・が続く for i in range(1, 2): i = i +1 a[i] = 5 a+数字に値を入れたいのですがa[i]のような使い方はできないのでしょうか
610 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 17:57:52 ID:iLli/Di+.net] pythonってインターフェースって概念はあるんだっけ?
611 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 17:58:18 ID:L4MHQKAq.net] >>601 有難うございます。 Python3エンジニア認定基礎試験です
612 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 18:15:03 ID:noKKsZcY.net] >>605 (インデント崩壊してるからか?) 質問がイミフ + 投稿前に1見ろ
613 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 18:35:43.13 ID:AyaWNvDt.net] これはスゴイ やりたい事はなんとなく分かるが、 何をやりたいのかが分からない
614 名前:デフォルトの名無しさん [2020/02/11(火) 18:50:33.09 ID:HQEYSI3a.net] >>605 a1 = 0, a2 = 0 for i in range(1, 2): i = i +1 exec(' "a"+str(i) + "= 5" ')
615 名前:デフォルトの名無しさん [2020/02/11(火) 19:40:05.81 ID:X3jD9Kja.net] これは高確率でやり方よくないパターン
616 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 19:47:41.29 ID:a/euzlWM.net] 初心者のうちはそういうことやりたくなるのわからなくもないけど素直にlist使いましょう
617 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 21:21:11 ID:v/oRLdRM.net] >>605 for i in range(1, 2): ____i = i +1 ____x = “a%s” % i # xには”a2”という文字列が入る ____locals()[x] = 5 静的言語のリフレクションみたいなのは globals/locals, getattr/setattr/delattr 文字列をコードとして評価したいならeval 実行したいならexec
618 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 22:13:11.46 ID:ZhnXkLvm.net] >>605 は a1 = 0, a2 = 0, a3・・・・が続く があり、それらに、オブジェクトaを通して a[1]でa1に,a[2]でa2に....([]を使って)アクセスしたいってことだろ。 (a[1]のaはaでなくても、名前みたいなものだから好きなのにしていい。 aシリーズにアクセスするらわかりやすくaにしている) こんなことを実現するクラスの作り方を教えて?という質問になるよな。 と、言っても俺は低脳で出来ない。 >>612 俺もそれで間に合うならそれが良いがと思う
619 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 22:48:00 ID:v/oRLdRM.net] >>614 絶対違うと思うがそういう解釈ができなくもないなw subscriptingは__getitem__, __setitem__を使えば可能 https://ideone.com/7WR8yJ
620 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 22:48:39 ID:6c6RIlRn.net] あー for i in range(1000): __try: ____a[i]=5 __except 的な?
621 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 23:02:14 ID:RUM4eNEQ.net] 605です レスありがとうございました >>610さんのアドバイスで私のやりたかったことが出来ました。ありがとうございます。 execを初めて知りましたが、初心者的には便利な使い方ができそうですね hoge = "aaaa" exec('hoge = "ほげ"') print(hoge) >>616 それです
622 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 02:21:47.75 ID:8gaFy0VD.net] dtreevizで決定木を可視化したのですが棒グラフの下の閾値が謎の数値と被ってとても見にくい状態です 閾値だけ表示させることはできますか?
623 名前:デフォルトの名無しさん [2020/02/12(水) 08:34:59.50 ID:MxyBlFwL.net] a1=0,0 はタプルになるから a1=0,a2=0 もそうかと思ったらこっちはエラーだな
624 名前:コーディングも未経験 mailto:sage [2020/02/12(水) 09:31:44.36 ID:CHK50RDvo] Python 2.7.17 のインストーラを起動したら、デフォルトのインストール先が C:\Python 2.7 になっているんだけれど、C 以外にすると何か不都合がありま すか。(CはSSDで容量が小さい、second bayのHDDを使いたい)
625 名前:デフォルトの名無しさん [2020/02/12(水) 15:55:30.07 ID:a1w2Xqz0.net] >>617 こいつとは仕事したくない うちの会社にいたら首切る
626 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 17:24:47 ID:LrVjYqM5.net] 別にええやん 学生かもしれないしプログラマーじゃない可能性も高いし 簡易的なツール作るだけならそんな高いレベル求められないし execを覚えたというだけでも成長したのにそんな言い草あるか?
627 名前:デフォルトの名無しさん [2020/02/12(水) 17:34:29 ID:QgfOdoDN.net] >>616 どういうこと?
628 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 18:24:00.47 ID:h0cbN6Js.net] >>621 初心者が間違った判断をしたならそれを指摘してやればいいだろう。 おれはお前のような奴の方が一緒に仕事したくないよw
629 名前:デフォルトの名無しさん [2020/02/12(水) 22:17:48.25 ID:ohhYjydu.net] 環境はMacです、ワケあってpython2を使おうとしてpip install -U python2を行ったら Requirement already up-to-date: python2 in /usr/local/Cellar/pypy3/7.3.0/libexec/site-packages (1.2) と表示され、versionが1.2でしかもpython2 -Vとしてもコマンドが見つからないと 言われるのでどういうことかと首をかしげpip listを行うと $pip list Package Version ---------- ------- appdirs 1.4.3 cffi 1.13.2 greenlet 0.4.13 packaging 20.0 pip 20.0.2 pyparsing 2.4.6 python2 1.2 readline 6.2.4.1 setuptools 44.0.0 six 1.13.0 と表示され、numpyなどが入ってないので何かおかしいと思い、 numpy.__version__、numpy.__file__を確認するとそれぞれ '1.17.3'、'/usr/local/lib/python3.7/site-packages/numpy/__init__.py' まあ正直どうなってるかよく分からないのでとりあえずpip install -U numpyを行うと Successfully installed numpy-1.18.1 しかし上記のように__version__を確認しても、'1.17.3'のままでした。 pipのlistには1.18.1でしっかり入ってます。 これって何が起きてるんでしょうか?Homebrewでinstall
630 名前:した可能性も考えたのですが brew listを行ってもnumpyもscipyも見つからずpypy、pypy3、pythonがあるくらいです pipのversionは pip 20.0.2 from /usr/local/Cellar/pypy3/7.3.0/libexec/site-packages/pip (python 3.6) です。思い当たる原因としては一回brewでpypy3を消したらpip効かなくなったことですが、 消す前にpipでinstallしたものは今でも普通にimportが効きます。 pipに表示されない原因に思い当たる方がいたらどうかよろしくお願いします。 [] [ここ壊れてます]
631 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 22:41:09.40 ID:mtSj8YKm.net] >>625 パス通す順番はジッサイトテモダイジ MacにしみこんでいるPython(2系)の存在を忘れてはいけない。
632 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 23:00:22.35 ID:bYqOq5KM.net] 605です。ご迷惑をおかけして申し訳ありません 最初に書いた例が私自身もよくわかっていないまま書いたのが駄目でした 皆さまのアドバイスでコードが完成しました https://pastebin.com/y2QT7m3E 色んな方法があると思うのですが、教えて頂いたexecとevalを使いました コード中のa_no_list[0] にはforで作ったa1を入れて、そのa1にランダム関数の数字を代入しました 手動でa1,a2を作って値を入れたりというのは出来たのですが、forで任意の回数繰り返して自動でa1,a2作れないかとこちらに相談した次第です forでprint(a[i])もa(i)もできるようになって、自動でリストの中の要素の中の要素・・・・を表示したり代入できるようになってるはずだと思います ちなみにこれは初心者参考書を1/4まで読み終わった復習として作りました
633 名前:デフォルトの名無しさん [2020/02/12(水) 23:30:50 ID:ohhYjydu.net] >>626 ありがとうございます、それ聞いて試しに aliasのpython="python3" を外したら動きました、linuxだとpython2で認識するんですけど macだと効かないんですね……悩んでた問題が一つ解決しました、本当にありがとうございます。 ただ今インストールされてるnumpyやtensorflowなどがpipで出ない方は解決できてません 上記のこともありpip listとpip3 list両方試したんですが全く同じ結果でした……
634 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 23:52:40 ID:ohhYjydu.net] 申し訳ありません、自己解決しました 何故かPATHで/usr/PATH/pypy3が先頭に立っててpypyが一番最初に呼び出される設定になってた為 pypy3のpipが表示されてたんだと思います……PATHのpypy3外したら直りました。 長文と勘違いで迷惑を書けてしまい申し訳ありませんでした。
635 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 00:09:12.49 ID:n7qjy+CZ.net] セルフってなんやねん!?
636 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 00:14:39 ID:Gd0xgnoa.net] 自分でガソリンを入れるスタンド
637 名前:デフォルトの名無しさん [2020/02/13(木) 08:14:35.67 ID:0eJoVY/8.net] >>627 どうしてa1とかa2の変数名が必要なのかわからないな
638 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 12:13:43.09 ID:lzB8uQ2A.net] >>630 オナニーをテーマにした漫画だよ。
639 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 14:49:45 ID:MOac+3r5.net] >>630 話すと長いから解説してるブログ貼る 簡単に言えばselfを書くことで新しい機能を追加することなく書けるからって考えらしい https://python.ms/self/#%E3%81%95%E3%82%89%E3%81%AB%E4%BB%96%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
640 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 17:35:23.50 ID:r7bSHOfr.net] pythonでオブジェクト指向やれば selfだらけになってシグナルノイズ比が高い事は自覚しておくべき 明示的にselfを渡してる言語としてGoやRustと同列に語るのはぶっちゃけ頭おかしい Goはどの型のメソッドが識別するためにselfを渡してる Goの場合はそれ以外で識別する方法がないから Rustはselfの使い方が3種類があるから 関数がどの種類なのかをシグニチャで指定するために明示的にselfを渡してる
641 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 18:39:18.80 ID:Ure0FzdD.net] >>627 何を参考にコーディングしたらそれが生まれたのか純粋に知りたいw
642 名前:デフォルトの名無しさん [2020/02/13(Thu) 19:02:19 ID:qvECNN2e.net] 条件分岐の分かり易い書き方について教えてください 通常ではa=bで c=0の時はa=zで d=1の時はa=yというときに if c == 0: __a=z elif b==1: __a=y else : __a=b になりますがほとんどの場合a=bになって まれにa=y やa=zになるとすると a=bが最後に来るのはわかりにくい気がするんですが どうしてますか?
643 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 19:45:20 ID:n7qjy+CZ.net] >>634 ありがてえ!!
644 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 20:12:27 ID:Ure0FzdD.net] >>637 別に気にならないけど、前に持ってきたいなら 最初に無条件でa=bを記述 その後条件文を記述 にするかな
645 名前:デフォルトの名無しさん mailto:sage [2020/02/13(Thu) 20:16:27 ID:Ure0FzdD.net] ちなみにそんなことよりも、自分がレビューするとしたら cが0でbが1の時は本当にa=zでいいのかとかが不安になるわ
646 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 21:36:32.33 ID:r7bSHOfr.net] >>637 通常ケースと通常でないケースという認識なんであれば 3つを並列に書くんじゃなくガード節を使ったりして通常ケースとそれ以外のケースを分離する def evaluate(b, c): ____if c == 0: ________return z ____if b == 1: ________return y ____return b
647 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 21:40:41.28 ID:zu6t+bqI.net] コメントにそう書いておく。
648 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 21:59:00.84 ID:n7qjy+CZ.net] pythonてSwitch文ないの?
649 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 22:08:31.25 ID:Gd0xgnoa.net] ない
650 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 23:45:35.00 ID:l+IDZGdn.net] まあ変数の真名と役割をコメントしてくれないと可読性の議論は出来ないよね 順番とか記述方法云々よりそっちが先
651 名前:636 [2020/02/13(木) 23:51:12.83 ID:qvECNN2e.net] >>639 条件が変わったら上書きしていくのもアリなんですね ありがとうございます 説明へtsくそですいません・・・ >>641 ありがとうございます こんな方法あるんですね >>642 コメントでの説明がへたくそすぎて 後で過去の自分を殴りたくなることが多いですorz
652 名前:デフォルトの名無しさん [2020/02/14(金) 13:14:33 ID:a5iC3cHy.net] >>637 カルノー図を覚えろ
653 名前:デフォルトの名無しさん [2020/02/14(金) 14:54:01.70 ID:/S4vU3l9.net] mac os 10.11.6 python 3.7.4 https://ideone.com/Mkhw9S ターミナルから上のスクリプトを実行すると以下のようなエラーがおきます。 VScodeから実行した場合は問題なく実行されます。 Non-UTF-8 code starting with '¥xe6' in file test2.py on line 2, but no encoding declared; https://ideone.com/D9Fkym 上のスクリプトはターミナルからも実行できます。 (リストの文字列の数のみの違いです) 以前はこんな感じのエラーは起きなかったのですが 原因がわかる方おられますか?
654 名前:647 [2020/02/14(金) 14:59:14.12 ID:/S4vU3l9.net] 自己レスです。 # coding: UTF-8を入れたらターミナルからも実行できましたが、 なぜリストの内容数とVScodeからだと問題無いのかがわかりません。
655 名前:デフォルトの名無しさん [2020/02/14(金) 15:27:13.81 ID:WtuYdkw5.net] atomic bomb
656 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 15:34:47 ID:+9NDg3r6.net] 「python non-utf-8 code starting with ' xe6'」で検索! どうせ、文字コードが異なるとか? BOM 無しUTF-8 で保存すれば? 漏れは、Windows 10, VSCode で、Ruby, JavaScript などを使うけど、 すべてのファイルを、BOM 無しUTF-8 だけにしている!
657 名前:647 [2020/02/14(金) 15:39:07 ID:/S4vU3l9.net] >>651 上下とも同じエンコーディング(BOM 無しUTF-8 )で保存しています。 リスト内の文字列は全て同じ文字列の繰り返しで、2種類のスクリプトは要素数のみの違いです。
658 名前:デフォルトの名無しさん [2020/02/14(金) 15:40:45 ID:WtuYdkw5.net] # coding: UTF-8 書いてなかったんだろ
659 名前:デフォルトの名無しさん [2020/02/14(金) 15:42:19 ID:WtuYdkw5.net] >>6
660 名前:647 [2020/02/14(金) 15:52:33 ID:/S4vU3l9.net] >>653 >>649で書いたように、# coding: UTF-8は入れてなかったのですが、 知りたいのは、以下の2点の理由です。 1.VScodeだと問題なく実行できる 2.リスト要素数の違いによるエラーの有無
661 名前:デフォルトの名無しさん [2020/02/14(金) 15:57:16 ID:WtuYdkw5.net] sys.getdefaultencoding() みろ
662 名前:647 [2020/02/14(金) 16:01:14 ID:/S4vU3l9.net] >>> sys.getdefaultencoding() 'utf-8'
663 名前:デフォルトの名無しさん [2020/02/14(金) 16:01:50 ID:WtuYdkw5.net] お前は言われたことしかできないんか? https://qiita.com/methane/items/6e294ef5a1fad4afa843
664 名前:647 [2020/02/14(金) 16:07:55 ID:/S4vU3l9.net] >>658 単にマウント取りたいだけなら返信不要です
665 名前:650 mailto:sage [2020/02/14(金) 17:08:51 ID:+9NDg3r6.net] >>655 VSCode では、Microsoft がPython の拡張機能も作っているし、 設定ファイルにでも、UTF-8 で起動するように書いてあるのだろう 一般的には、IDE などの統合開発環境は、親切
666 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 17:19:37 ID:EOtBZfN8.net] >>655 原因はバグ 対処は改行して1行のバイト数を減らすか 明示的にencoding指定をファイルの先頭に記述するか https://bugs.python.org/issue34979 VSCodeで実行できるのは>>660の書いてる通り何か設定してるからだと思われる 俺の環境ではVSCodeでも同じエラーが出る
667 名前:647 [2020/02/14(金) 17:21:58 ID:/S4vU3l9.net] >>660 >>661 ありがとうございます。すっきりしました。 バグですか。確かに配列内容を分割しただけでエラーが消えたりしてたので悩みました。
668 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 19:07:56 ID:+2T2g9zy.net] 要領悪いやつ 大人しくutf8宣言しときゃ動くんだからそうしろよ お前なんかがvscodeのバグ発見したからって何になるんだ 時間のムダ
669 名前:デフォルトの名無しさん [2020/02/14(金) 19:13:36.39 ID:x4GfXJj6.net] 単に知的好奇心だろ おまえみたいなIT土方にはわからんか
670 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 19:39:14 ID:+2T2g9zy.net] 全く知的ではない ただの"何でvscodeだと上手くいかないのムキー"でしかない その証拠にバグと分かったらもう投げ出してる
671 名前:デフォルトの名無しさん [2020/02/14(金) 19:44:06 ID:x4GfXJj6.net] それがなんで証拠なんやろうか バクについてまでは興味ないってだけやろうに 土方が偉そうに評価するな
672 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 19:56:12 ID:+2T2g9zy.net] バグだったら仕方ない、 自分のせいじゃない、 よかったよかったあースッキリ。 どこに知的要素が存在するのか
673 名前:デフォルトの名無しさん [2020/02/14(金) 20:00:15 ID:x4GfXJj6.net] 知的好奇心のない奴は動けばいいやでuft8宣言して終わりだろうな
674 名前:650 mailto:sage [2020/02/14(金) 20:19:25 ID:+9NDg3r6.net] プログラマーが日本語のバグで時間を使うのは、馬鹿らしい。 Python は、日本語対応をやってない Ruby なら、Cookpad・マネーフォワード・Ruby 開発とか、 日本人のメンテナーが、一杯いる
675 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 20:23:20 ID:+2T2g9zy.net] >>668 だからそれで終わりでよい 知的な意味もなく自己満足のためにムダな時間費やす無能よりも幾らか使えると言っているのだ
676 名前:デフォルトの名無しさん [2020/02/14(金) 20:26:32 ID:x4GfXJj6.net] IT土方は動けばいいだけだもんな
677 名前:デフォルトの名無しさん [2020/02/15(土) 00:24:05 ID:GcRD3KfQ.net] True=1,False=0じゃなくて IFで何行も書かなくても Trueの時は1をかけて、Falseの時はマイナス1を掛ける方法ってありますか?
678 名前:デフォルトの名無しさん [2020/02/15(土) 00:33:48 ID:NYbvjz3Y.net] 普通は *(1 if hoge else 0) だろうな hoge*1でもできるっぽいけど
679 名前:デフォルトの名無しさん [2020/02/15(土) 00:50:26 ID:GcRD3KfQ.net] >>673 *(1 if hoge else -1) で行けるんですね ありがとうございます!
680 名前:デフォルトの名無しさん [2020/02/15(土) 00:52:40 ID:NYbvjz3Y.net] よく読んでなくてすまん
681 名前:デフォルトの名無しさん [2020/02/15(土) 04:34:54 ID:CrxoAXqf.net] >>672 hoge*2-1
682 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 07:03:08.25 ID:1M8DJTak.net] >>676 Basicは三項演算子なかったからその手のコードよく見かけたな Trueが-1だから-2*hoge-1とかにしないと駄目だけど
683 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 07:39:54.28 ID:cl/r4jK1.net] *[-1,1][hoge]とか