1 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 01:38:10.93 ID:GepmXCuJ.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直
377 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 09:01:21.60 ID:10TVIxo2.net] >>368 今のところそんな予定は全くないんだけど、 例えば何の言語だと便利なのがあるの?
378 名前:348 [2022/02/28(月) 12:02:04.82 ID:nBtp+f0s.net] 皆さまありがとうございます、皆様のおかげで問題は解決しました
379 名前:デフォルトの名無しさん [2022/02/28(月) 15:17:54.00 ID:nBtp+f0s.net] https://atcoder.jp/contests/abc241/tasks/abc241_a この問題で、 i=0 A=[] B=[] for i in range(10): #### list assignment out of range が次の行で出る B[i]=input('A[i]を代入してください') A[i].append(int(B[i])) if A[i]<= 9: i +=1 else : B[i]=input('もう一度A[i]を代入してください') print(A[A[A[0]]]) 何がout of range なのでしょうか?
380 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 15:32:20.23 ID:UX0HcLa3.net] B=[] ←要素数ゼロで初期化 B[i]= ←i番目の要素に代入。だから要素数の範囲(レンジ)からアウトしてる
381 名前:デフォルトの名無しさん [2022/02/28(月) 16:29:27.67 ID:nBtp+f0s.net] >>373 ありがとうございます、 つまり最初に有限この要素のリスト B=[0,0,0,0,0,0,0,0,0,0]を作っておいて後からそれらの値に代入すれば問題は解決されるのでしょうか?それが一番いいやり方でしょうか?
382 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 17:08:39.69 ID:BVEEYcFL.net] >>374 コードがおかしい上に、C++って書いてあるけど。 https://atcoder.jp/posts/37
383 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 17:23:45.04 ID:BjQFST3O.net] >>374 数字が1個ずつ渡されると勘違いしてる前提だとしても Bをリストする意味ないしi = 0 や i += 1するのも意味がないよ 入力は1行で10個の数字が渡されるから 直接splitして各要素を数値にしてlistとして変数に代入すればいい
384 名前:デフォルトの名無しさん [2022/02/28(月) 18:22:56.81 ID:uUgrFe+p.net] 自己解決しました ありがとうございます
385 名前:デフォルトの名無しさん [2022/02/28(月) 18:24:43.32 ID:7jUXLESA.net] >>376 ありがとうございます
386 名前:デフォルトの名無しさん mailto:sage [2022/02/28(月) 19:33:18.82 ID:QtV0mrZw.net] このタイプの入力はいつも内包表記でやってるな a = [int(i) for i in input().split()]
387 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 07:16:31.85 ID:8HE09WEK.net] パイソン学べばアプリ作れると思ってはじめてみたけど パイソンは言語のひとつであってそれだけではアプリを作れないんだね
388 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 07:48:40.95 ID:OUtPpYxS.net] すまんが日本語で話してくれんか
389 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 08:15:47.03 ID:rKWo9dcG.net] Pythonのライブラリも学べば、限界はあるが色んなアプリが作れるど
390 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 08:33:59.79 ID:aeRvHbuv.net] デスクトップアプリはあまり作り易くないな tkinter使えばいいけど
391 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 09:47:11.96 ID:nY7C5f4n.net] >>380 そうだよ Pythonに限らず言語学んだだけではアプリは作れないよ
392 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 10:14:51.79 ID:aeRvHbuv.net] むしろサーバー設置してそこでブラウザ経由で動くアプリ作るのが一番いい
393 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 10:16:01.62 ID:FpudFrD4.net] >>384 > Pythonに限らず言語学んだだけではアプリは作れないよ これは正しいけど > パイソンは言語のひとつであってそれだけではアプリを作れないんだね とは違う話だろ
394 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 10:36:06.98 ID:FuAp7249.net] 奥が深い話だな というか考えるレベルによって変わる バカなこと言えば、phthonマスターしてても端末やOS電源なんかが必要だから、pythonだけじゃアプリを作れない 多少まともなこと言えば、C++マスターしててもWin32APIなど知らないとWindowsGUIアプリ作れないみたいに、アプリ作るには言語以外の知識も必要になる
395 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 10:47:23.71 ID:xsw3hO9n.net] めちゃくちゃ浅い話やないかーい!
396 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 11:11:01.13 ID:cMGuQY9h.net] アプリっていうのはGUIアプリのことかな? CUIだって立派なアプリよ
397 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 12:19:45.24 ID:ZphrWLt8.net] アプリってのはアプリケーションソフトのことやで 日本語に訳すとは自分で調べてみてね
398 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 12:44:44.67 ID:FuAp7249.net] 今の時代はアプリはスマホアプリのことを指して、PCアプリをアプリと呼ばない人もいるからな pythonでスマホアプリを作るのに言語だけじゃというのかもしれない
399 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 13:00:42.80 ID:tGBWMiyL.net] 必死すぎww
400 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 15:34:17.13 ID:d7YWy2NT.net] アプリってのは俺たちの言うところのプログラムってやつだな
401 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 15:57:55.97 ID:mo+aGJJz.net] 俺たち?? 一緒にしないでくれるかな
402 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 18:08:42.06 ID:bPAr9M5f.net] Python + kivy でアプリ作ったが、 BuildozerでうまくAPKが作れません。 Ubuntuで作成していますが、解説サイトが少なすぎて、 どのように直せばいいのか分かりません。 アプリからCSVファイルを読み込むのに、Windowsなら csv.readerでできますが、 Android上では、上手くできない。 こういう違いを解説しているサイトありませんか??
403 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 18:50:50.61 ID:Mp5ZQhC2.net] 100%勘でいうけどcsvの読み取り処理じゃなくて権限の問題じゃない?
404 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 19:57:52.20 ID:bPAr9M5f.net] >>396 あ…、なるほど。それも確かにありますね…。 権限付与とか、Ubuntuでは関係ないので、 apk作成してから実際に確かめるしかないんですかね…。
405 名前:デフォルトの名無しさん [2022/03/01(火) 20:37:15.87 ID:rZFH8Ry6.net] そんな漠然とした質問されましても・・・。
406 名前:デフォルトの名無しさん mailto:sage [2022/03/01(火) 21:57:53.58 ID:Uxf89f5s.net] やってみるしかないじゃなくて普通にAndroidの権限付与調べればいいじゃん
407 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 19:05:15.86 ID:JpI2oqvB.net] numpyみたいに左辺値にも数値を取れるようなスカラー倍の実装ってどうやればいいんでしょうか? ↓みたいなものを実現したいです vec = Vec3d(1, 2, 3) vec = 3 * vec vec * 3は普通にVec3d.__mul__()を書けばいとわかりますが…
408 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 19:13:16.50 ID:GIXfNvH2.net] __rmul__ https://docs.python.org/ja/3/reference/datamodel.html#object.__rmul__
409 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 19:31:01.69 ID:JpI2oqvB.net] ありがとうございます助かりました
410 名前:デフォルトの名無しさん mailto:sage [2022/03/02(水) 23:37:34.10 ID:JgRDiBWO.net] >>401 後学のために知っておきたいんだが、rmulが素直な性質を持っていない場合(たとえば、s * vecでsが3の倍数のときだけベクトルの要素にすべてsinが適用される)、 3 * 4 * vecの評価順ってどうなるの? 12 * vecになるか、3 *(4 * vec)になるかで結果が変わってくるよね?
411 名前:デフォルトの名無しさん [2022/03/02(水) 23:51:59.12 ID:JCVrS93n.net] 優先順位が同じだから左から処理されて12*vecになる。
412 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 00:14:52.94 ID:opDE9Pw0.net] >>404 サンキュー! 八元数なんかだと結合法則成り立たないから実装には要注意だね んなもん使わないけどw
413 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 11:37:39.24 ID:MIHsZ6Ov.net] '2022-03-01'という文字列と今日の日付を比較したいのですが、うまくいきません。 文字列は datetime.datetaime.strptime(ooo,'%Y%m%d') で変換できました。 比較対象は、 datetime.date.today() かdatetime.datetime.now() にしてもだめでした。 よろしくおねがいします。
414 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 12:32:25.24 ID:iy0ngH3c.net] >>406 from datetime import date date.fromisoformat("2022-03-03") == date.today()
415 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 12:56:08.30 ID:uKQKiz/u.net] datetimeだかdateだか、ちょっとした書きミスがバグにつながるから こういうのはyear、month、dayを抜き出して、3回比較するのが確実
416 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 13:02:19.17 ID:B47DPcJE.net] そこはテストコード書こうよ
417 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 14:29:17.12 ID:uKQKiz/u.net] テストコードも同じ過ち起こして、テスト通るのにバグるってなるんだよ・・・
418 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 17:06:11.44 ID:QPV1pV4A.net] >>407 >>408 ありがとうございました。無事に解決しました。
419 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 17:20:07.18 ID:KpuntXeF.net] >>410 それはテストの書き方が悪いよ
420 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 19:15:45.74 ID:bgg8zGG6.net] >>410 お前テストコード書いたことないだろw
421 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 19:26:32.29 ID:uKQKiz/u.net] テストを神聖視しすぎ。本体とテストの実装者が同じだったら同じ過ちを犯すものだよ 最近見かけた日付関連だとファイル内の文字列"yyyy/mm/dd"と現在日を文字列比較してて しかも現在日から文字列作るのをロケール任せにしてたから、海外だと"mm/dd/yyyy"になってバグるというのがあった こんなのロケール知らずに普通にテスト組んでたら検出されない
422 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 19:45:04.76 ID:o+Rr4hsu.net] 恥の上塗り
423 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 19:53:53.66 ID:09CehFjH.net] tryすれば済む話のような
424 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 21:10:29.99 ID:bgg8zGG6.net] >>414 > テストの実装者 まじでテストコード知らんのやな ロジック書いてそうw
425 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 22:14:30.67 ID:drOOnciu.net] >>414 違うロケールでテスト流せばすぐ検出されるよね? そのケースは個別のテストケース内で確認すべき項目というより別ロケールでのテストを計画しなかった人やチームに落ち度がある 日時を扱う場合にロケールやタイムゾーンは要求仕様の一部だから事前にテスト計画に入れるのが普通
426 名前:デフォルトの名無しさん mailto:sage [2022/03/03(木) 22:31:16.34 ID:GbOH5gri.net] >>414 テストの考え方間違ってるだろ 「テストしたから不具合はない」ではなく 「少なくともテストした項目については、挙動の確認/担保が出来ている」だぞ (ユニットテストはバグを検知するのでなく、動作担保のために作る) その例で言えば明らかにテストケース漏れだし むしろそういう懸念があるならレビューの時に真っ先にチェックするだろ テストコードを整備せずに、実装側を無意味に歪める方がおかしいだろ
427 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 08:01:41.44 ID:BHHJY9k/.net] テストしたからバグは少なくなってるはず 程度だろ
428 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 09:16:31.36 ID:Gnf2P8af.net] def test() print(1234) #=enddef test こんなエンドコメント入れてるんだが、ないかな? 長くなるとわかりにくいんだもん
429 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 10:06:50.30 ID:8OZVHpIn.net] ありだよ
430 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 10:19:45.82 ID:7BMKLnGc.net] そんなの見たら無言で削除するぞ
431 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 10:22:54.28 ID:tJDnSpmC.net] >>421 ちゃんとしたエディタなりIDEなり使ってたら 関数単位で折りたためる機能あるから わざわた付けなくても……
432 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 10:56:36.50 ID:8OZVHpIn.net] そりゃIDEで折りたためたり、コンボボックスにその関数名出てたりするけど そういう機能があるのと見やすさはまた違うからな 言語は違うけど、windowsのソースコードでもその手の終了示すためのコメントは使われてる
433 名前:デフォルトの名無しさん [2022/03/04(金) 11:30:20.88 ID:2+JR4Ldk.net] 長くしなければいいじゃわん
434 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 11:49:48.53 ID:dxtR1KDL.net] >>421 ねーわ、と思ったが 2000行程度のファイルで試してみたら確かに視認性が上がった カラーリング次第なところはあるがテストコードに限らず有りだわ
435 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 13:29:46.03 ID:61BdsMwc.net] 俺もあったら削除するぞ派かな。 折り畳みの邪魔にしかならんし。
436 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 14:14:06.89 ID:MfsJLXwz.net] endがあるRubyでも似たようなコメント書いてたな このendはifだっけ?whileだっけ?で見に行くのが面倒になって付け始め 条件なんだっけ?で条件もendコメントに書き始めたら 見栄えが汚くなったなww
437 名前:デフォルトの名無しさん [2022/03/04(金) 19:29:27.15 ID:k14r3fvN.net] while True: try: kakaku = btc_ask time.sleep(30) すんません教えて下さい、 30秒おきにループして、 BTCの価格を取得するプログラムなのですが、 この取得した価格を、 30秒前の前回取得した価格と比べるには、 どうしたらいいでしょうか。 30秒前のkakaku < 現在のkakaku このようなことがしたいです、 ループの中でkakakuを保持して、 次回のループの時の価格と比べたりできますか?
438 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 19:55:32.25 ID:7RF2xiEj.net] 5x7(横x縦)の2次元リストのなかにデータが格納されています。 @その中に重複しているデータは何個あるか Aその重複しているデータを抽出する が、したいです。 誰かお分かりになる方、教えて下さい。
439 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 21:58:38.89 ID:Vr/hXoC/.net] 重複しているデータが1種のみ3箇所にあったときの回答がしりたい
440 名前:デフォルトの名無しさん [2022/03/04(金) 22:21:09.17 ID:nnG5KH7G.net] >>430 ループの外にprev_kakakuとcurrent_kakakuを用意しておいて ループ内でif kakaku :=
441 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 22:40:01.34 ID:rKYLL8CC.net] ary = [ [ 1, "a", 2 ], [ 2, "a", "b", 2, 3 ] ] この場合、出力はこれで良いの? "a" => 2 2 => 3 "a"が2個、2が3個
442 名前:デフォルトの名無しさん mailto:sage [2022/03/04(金) 23:06:04.21 ID:pOcMuLi2.net] collectionsのcounterで終わりでは?
443 名前:デフォルトの名無しさん [2022/03/05(土) 00:22:47.69 ID:74G/Knts.net] >>433 なんとかできました、 ありがとうございます!
444 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 18:47:19.30 ID:IA7poZPw.net] anacondaとVSCODEで開発しています 昨日あたりから急にconda install したcv2とかpyautoguiとかをimportするとモジュールが見当たらないとエラーがでるように なってしまいました。 ですけど、conda info -eで見るとちゃんと環境は切り替わっているのですが、 pprint.pprint(sys.path)でimport先を確認するとなぜかcondaのbaseを見ています import先を切り替えるにはどうすればいいのでしょうか。 なんかUSBHDDを接続してドライブを増やしたときにpython実行した辺りから使えなくなった気がします
445 名前:デフォルトの名無しさん mailto:sage [2022/03/05(土) 23:09:14.83 ID:aOITLV1E.net] エラーメッセージで検索すれば? anaconda の使い方や、import パスの仕組みなどを調べるとか
446 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 15:40:23.36 ID:5YdwNKnV.net] スクレイピングがCloudflareでブロックされてアクセスできなくなってもうた Selenium(headlessオフ)でアクセスしてもダメ! でもChromeからのアクセスは大丈夫だから SeleniumとChromeってやっぱ違うんだね、今のところお手上げ>< フリー版?のcloudscraperでもダメっす、何か対策ありますか?
447 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 15:52:11.57 ID:GH3f7UsN.net] どのサイトをクロールしようとしてるのか分からないと 徹底的にブラウザの気持ちになってリクエストを再現しろくらいの一般論的なことしか言えんよ
448 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 19:29:03.82 ID:LhKo5a0F.net] >>421 有りか無しかで言ったら有りだけど、それ、pythonのデザインポリシーを冒涜してるだろ(笑)
449 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 21:38:43.85 ID:SX3V4D25.net] Selenium を使う場合、手動でブラウザを使うのと、全く同じようにシミュレーションすべき どこかが異なると、それを判別してブロックされる
450 名前:デフォルトの名無しさん mailto:sage [2022/03/06(日) 21:44:19.84 ID:WkkDxprJ.net] そんな複雑なチェックしてることなんてまずないだろ どうせUAがデフォルトのままとかその手がじゃないか
451 名前:デフォルトの名無しさん [2022/03/06(日) 23:17:19.54 ID:TwfM3eez.net] >>443 そいつrubyキチガイやで 触んな
452 名前:デフォルトの名無しさん mailto:sage [2022/03/07(月) 07:17:49.90 ID:TZQuxR5Y.net] ルビキチ
453 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 09:39:26.69 ID:ZX9Pe2Of.net] ルビキチ rb mylist=mystr.split(",") mysize=mylist.size() mystr=mylist.join(",") py mylist=mystr.split(",") mysize=len(mylist) mystr=",".join(mylist)
454 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 10:02:18.65 ID:yCGAKR37.net] おねいちゃのマイリス
455 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 18:04:03.25 ID:/uluuvq4.net] ある数列の連続性をカウントしてまとめたいのですが forで回してこうやりました https://ideone.com/lcnVcl ↑の例では #数列データ df = pd.DataFrame([1,2,1,1,1,2,3,1,2,1,2,3,1,2,1,2,1,2,3,4,5,1,1,2]) #連続性 #[(1,2),(1),(1),(1,2,3),(1,2),(1,2,3),(1,2),(1,2),(1,2,3,4,5),(1),(1,2)] #つまり # (1),(1),(1), (1,2),(1,2),(1,2),(1,2),(1,2), (1,2,3),(1,2,3), (1,2,3,4,5) 数列のデータはpandasのデータフレームで受け取るので どうせならpandasをもっとうまく使えたらなぁと思ったのですが何かいい案はないでしょうか。 やりたいことはカウントというよりも、 今現在の連続記録nに対して、これ以上は連続しにくいぞ、とか、まだまだ連続する、程度を知れたらいいなと思っています (数列は正の整数で連続し、連続が切れると1から始まります) 上でやったforのやつでも結果の関数を解くだけなので出来なくはないですが 何か野暮ったいかなと思いました
456 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 18:14:37.92 ID:pY0AUvqt.net] >>448 元のseriesと、shiftメソッド使って一個行方向にずらしたseriesを引き算して、 1なら連続、とかやる方法はあるけど、あんまりエレガントにならないし、 遅いしメモリも食うしいいことなさそうな感じだなあ。
457 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 18:16:01.08 ID:cb69q7TI.net] 元配列[1,2,1,1,1,2,3,1,2,1,2,3,1,2,1,2,1,2,3,4,5,1,1,2])に含まれる1の数、2の数、3の数・・・をカウントするだけでいい 今の値が3だとしたら、次に4が来るか途切れそうかは、カウントした4の数から考えることができる↑だと4は一個だからほぼほぼ途切れるだろうということになる
458 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 18:56:13.93 ID:/uluuvq4.net] >>449 なるほど >>450 今の値が1連続目だとすると 常に、1連続以上になる確率が高くなりそうな気がしますが違うでしょうか
459 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 19:33:19.86 ID:P7fXjWPX.net] https://ideone.com/rlGHHX 途切れた時点でのi-mが連続回数 何がやりたいのかいまいちわかんないけど
460 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 21:11:58.59 ID:/uluuvq4.net] >>452 ありがとうございます この数列は、カウンターが出力される機器のログを記録したようなものです ボタンを押すごとに1,2,3・・と数字がカウントされますが途中でリセットされます リセットのタイミングは機器によって異なります 極論、 { 1:1, 2: 10000, 7: 2 } のログデータを示した機器は(1,2)が10000回出ているので もし現在2回連続中なら、次ボタンを押しても1にリセットされる期待大だろうと思います 問題は、1,2,1,1,1,2みたいなseriesのデータでしか受け取れないというところで どうせなら受け取ったdataframeの操作だけでできないのだろうかとあれこれやってみましたが行き詰まり質問しました 上の極論例で言えば 圧倒的に1,2,1,2,1,2…のパターンが多いと思うので、良い感じにグループ化して 期待が大きい順にソートできないのかな、みたいな ゴリ押しコードではできそうになりました ありがとうございました。
461 名前:デフォルトの名無しさん mailto:sage [2022/03/08(火) 23:14:01.22 ID:NoeFnt/B.net] 1が出てきたところで分割するだけならmore_itertoolsのsplit_beforeが簡単 Counter(len(x) for x in split_before(array, lambda x: x == 1)) ある要素の次に連続した数字が出てくる確率を求めたいなら yield前に計算が必要なのでsplit_beforeはそのまま使えない https://ideone.com/TMXIXG (Counterの要素数が多くなるようならメモ化とかで最適化)
462 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 01:42:21.21 ID:5uyncfY/.net] >>454 ありがとうございます この賭けをするかどうか、がパッと見ですごくわかりやすいですね >メモ化 やってみたいと思います! ありがとうございました
463 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 13:55:40.04 ID:uPg2QLX1.net] 画像認識用に Pillow package 追加した後に pyinstaller でexe化したら、吐き出されるファイルのサイズが全て大きくなりました。 --exclude pillow で除外するしかないのでしょうか? よろしくお願いします
464 名前:デフォルトの名無しさん [2022/03/09(水) 17:38:50.03 ID:Ey9V1kD3.net] >>456 pyinataller 肥大 検索
465 名前:デフォルトの名無しさん mailto:sage [2022/03/09(水) 23:53:04.35 ID:+dlDtb5P.net] パイエグゼ
466 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 11:17:29.77 ID:XgQ7nsDt.net] >>457 ありがとうございます。 仮想環境を構築してexe化するのがベターなのでしょうか? 不要なライブラリを一つずつ除外してアーカイブするってのは現実的じゃないですよね? プロの皆さんはどうやってますか?
467 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 11:37:47.77 ID:XgQ7nsDt.net] >>458 ありがとうございます。 py2exe でしょうか? pyinstaller に比べるとかなり軽量化されますね。onefileになりませんが、解決できそうです。
468 名前:デフォルトの名無しさん [2022/03/10(木) 12:19:42.66 ID:F03aXzW3.net] >>459 プロジェクトごとに最小限の環境切って出力までいく 他に手はない だからガバガバAnacondaとかが嫌われているんだね 組み込みに、必要なライブラリを必要なときに入れていく。最後にpyinstallerを入れてexe これが最小
469 名前:デフォルトの名無しさん [2022/03/10(木) 12:23:23.50 ID:F03aXzW3.net] py2exeやcxFreezeはディスコン
470 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 12:44:48.00 ID:2dGzdKSz.net] exe化自体がPythonには向かないから肥大化は諦めろとしか まともな使い方したいならpip対応してインストーラーを配布
471 名前:デフォルトの名無しさん [2022/03/10(木) 14:01:53.94 ID:fg/vrfqm.net] まあenv+最小環境でも20MBスタートくらいだしな
472 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 14:22:13.82 ID:7DfxLAmP.net] なんだそんなもんか .NET Coreのシングルバイナリ(60MB)に比べたら小さいね
473 名前:デフォルトの名無しさん mailto:sage [2022/03/10(木) 14:24:28.69 ID:7DfxLAmP.net] >>463 やるにしても超初心者の手を出すことじゃねえなあ 超初心者ほど必要になってしまうジレンマもあるのかも知れんが
474 名前:デフォルトの名無しさん [2022/03/10(木) 16:22:34.24 ID:fg/vrfqm.net] >>465 anaconda+tensorflow+kerasあたりのお手軽AI環境構築で700MBくらいだった気がする
475 名前:デフォルトの名無しさん [2022/03/11(金) 09:47:30.49 ID:jL2x9Ttt.net] def select(idx: int, name: str): ret = None __if idx: ret.add __if name: ret.add return ret こういう省略可能な引数に対する型ヒントはどう書きます? select(idx: int|None =None, みたいにしなきゃダメ?
476 名前:デフォルトの名無しさん mailto:sage [2022/03/11(金) 10:22:58.59 ID:mIOifofz.net] https://docs.python.org/ja/3/library/typing.html#typing.Optional
477 名前:デフォルトの名無しさん [2022/03/11(金) 11:13:57.75 ID:Ozj2kjqC.net] >>468 Optional パイプで区切る書き方は3.10以降しかできない