1 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 22:25:08.74 ID:/hGmbW/Z.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/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56 mevius.5ch.net/test/read.cgi/tech/1640536690/ 次スレたては >>985 あたりが挑戦する。 ### END OF TEMPLATE ###
268 名前:デフォルトの名無しさん mailto:sage [2022/07/15(金) 15:35:58.33 ID:rlSsskU5.net] ずいぶんとお利口な超初心者の集まりだこと…
269 名前:デフォルトの名無しさん mailto:sage [2022/07/15(金) 15:52:36.65 ID:cpkuMkfN.net] 超初心者が質問できるスレであって住人全員が超初心者というわけじゃないよ
270 名前:デフォルトの名無しさん mailto:sage [2022/07/15(金) 17:56:14 ID:qGSK8RbV.net] メーリングリストのログ追ってみたが議論らしい議論は全くなかったぞコレ Tim Petersが案をだして、じゃそれでくらいのノリ
271 名前:デフォルトの名無しさん mailto:sage [2022/07/15(金) 19:33:17.31 ID:5LwbToQX.net] 悲しいとき〜、悲しいとき〜、不毛な努力をしているアホをみたとき〜
272 名前:デフォルトの名無しさん [2022/07/15(金) 21:59:49.41 ID:Mg+hVTQU.net] 少し内容がずれているかもしれませんが質問させてください。 Windows10で右クリック-新規作成で空のpythonファイル(.py)を作成するようにしたいのですが、 何か方法はありますでしょうか? 下記のURLを参考にしてレジストリを変更する方法を調べて実行したのですが、反映しません。 https://qiita.com/ioComk/items/ab79749b0f0bf05db97e 教えていただきたく。よろしくお願いします。
273 名前:デフォルトの名無しさん [2022/07/15(金) 23:42:53 ID:Fa+NFDEY.net] >>258 実際bytesとかでjoin相当のことをしようとしたらどうすればいいんだろう?itertools使えばなんとかなりそうだけど
274 名前:デフォルトの名無しさん mailto:sage [2022/07/16(土) 00:03:25 ID:HB6roBeY.net] __add__かjoin専用メソッドがある前提でひたすらinject それらが型変換できないケースだと失敗とか
275 名前:デフォルトの名無しさん mailto:sage [2022/07/16(土) 00:23:45.26 ID:fjBrDVen.net] >>265 少なくとも今試しても記事の通りできた 詳しくどうやったか開示しないと分からん
276 名前:デフォルトの名無しさん [2022/07/16(土) 10:38:02.22 ID:5edRFReA.net] >>268 詳しくといっても難しいですが pythonはAnacondaでインストール。 新規pyファイルはサクラエディタと紐づいています。
277 名前:デフォルトの名無しさん mailto:sage [2022/07/16(土) 14:30:48.70 ID:7RINBtm9.net] >>269 そしたらサクラエディタに関連付けしてるからだろうね 新規作成は関連付けされてるアイコンとファイルタイプ名称で表示される
278 名前:デフォルトの名無しさん [2022/07/16(土) 16:20:01.38 ID:ck4+820Y.net] なんでこうなるのかわからない _, *elements , _ = [1, 2, 3, 4, 5, 6, 7, 8] print(elements) # [2, 3, 4, 5, 6, 7] print(type(elements)) # <class 'list'> elements_B = [1, 2, 3, 4, 5, 6, 7, 8] B = _, *elements_B, _ print(B) # (8, 1, 2, 3, 4, 5, 6, 7, 8, 8) print(type(B)) # <class 'tuple'>
279 名前:デフォルトの名無しさん mailto:sage [2022/07/16(土) 16:34:54.36 ID:730D9OZt.net] print(_)してみたら
280 名前:デフォルトの名無しさん [2022/07/16(土) 16:56:27.29 ID:ck4+820Y.net] ああ、理解したわ a, b, c = 1,2,3 a=1 b=2 c=3 ってのと変わらんのか a, *b, c = 1,2,2,2,2,3 a=1 b=2,2,2,2 c=3 みたいなことか
281 名前:デフォルトの名無しさん [2022/07/16(土) 19:51:21.14 ID:GdTpN6Df.net] bytes で join ってさ b''.join(bytes_data) で良いんじゃね
282 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 11:57:25.95 ID:VAtjDotR.net] 2^26倍精度浮動小数点数の最大値 (2^((2^(111-1))-1))*(2-(2^-2147483536)) https://ideone.com/3sxXF1 は計算できるが、 2^27倍精度浮動小数点数の最大値 (2^((2^(115-1))-1))*(2-(2^-4294967180)) https://ideone.com/MDO46W は誤差が出て計算できない。 何とかならない?
283 名前:デフォルトの名無しさん mailto:
[] [ここ壊れてます]
284 名前: mailto:2022/07/17(日) 12:39:58.12 ID:Un2LAdnT.net [ emaxの最大値は999999999999999999みたいだからどうにもならんのでは ] [ここ壊れてます]
285 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 15:02:05.03 ID:QiBhjgar.net] emacs
286 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 15:16:14.73 ID:VAtjDotR.net] >>276 10^10^100000 https://ideone.com/PIILdo
287 名前:デフォルトの名無しさん [2022/07/17(日) 15:22:34.18 ID:QiBhjgar.net] >>266 >>274 https://ideone.com/cEpoSf # joinの問題と言うよりもlist(b'hoge')の方に問題が在る訳だな
288 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 15:44:47.39 ID:7GRljLrT.net] def f(a): return a+1 a=[1,2] print(f(a)) >[2,3] みたいなことがやりたいんですが、 関数にまとめてデータを渡して処理してもらうようなことはできないでしょうか 本来はf(1),f(2)とするところです 数が多ければforで回すのですが、まとめてどさっと渡したいです
289 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 16:13:54.34 ID:eihDCF0F.net] >>280 https://www.tech-teacher.jp/blog/python-map/
290 名前:デフォルトの名無しさん [2022/07/17(日) 17:40:51.90 ID:mQpJsc2r.net] 何だこの記事は
291 名前:デフォルトの名無しさん [2022/07/17(日) 17:47:08.08 ID:GTQ/Lt+k.net] >>279 なるほど。strをバラしてもstrだが、bytesはバラすとintになってしまうということか。 まあ、実用上は問題ないかなあ。というかここを崩すとbytesを1バイトずつバラしてjoinするという殆どしない操作のために、 strとbytesの実用性がかなり失われるよね
292 名前:デフォルトの名無しさん [2022/07/17(日) 17:58:37.99 ID:Fxi+TDuE.net] >>280 素直にnumpy使う ではツマランのでこんなのはどうだろう def matome(func): __def process(*list_args): ____return [func(*args) for args in zip(*list_args)] __return process @matome def f(a): __return a+1 a = [1, 2, 3] print(f(a))
293 名前:280 mailto:sage [2022/07/17(日) 18:36:03.96 ID:jWrWgoZv.net] なるほど、map関数や*list_argsなどのやり方があるのですね これはどちらもforよりは軽くなりそうな感じはします >>284 素直にnumpy、がそもそもわかってないのですが、教えていただけませんか?
294 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 19:23:47.87 ID:pr2Iyzs9.net] >>284 無駄な処理があるので修正しときますね def matome(func): ____def process(list_arg): ________return [func(list_item) for list_item in list_arg] ____return process >>285 ググレば一発で出てきますよー import numpy as np a = np.array([1,2,3]) a+1 _.tolist()
295 名前:デフォルトの名無しさん [2022/07/17(日) 19:47:38.44 ID:Fxi+TDuE.net] >>286 それだとfの引数が増えた時に対応できない
296 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 20:59:15.42 ID:4v0QWrzY.net] mapと内包表記どっちが軽いんだろ? a=[1,2] b=[i+1 for i in a] これで終わる話ではあるよね
297 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 21:23:00.57 ID:zoulLgXv.net] 話を単純化して話してんだろ 一般的な解があるほうが親切
298 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 21:25:35.67 ID:pr2Iyzs9.net] >>287 なるほど、f([1,2,3],[4,5,6]) → [5,7,9] とかにするならmatomeはそのままで def f(*a): __return sum(a) で対応できるけども、しかし! 引数が1つの場合が f([1,2,3]) → [2,3,4] であるならば、 引数が2つの場合、f([1,2,3],[4,5,6]) → ([2,3,4], [5,6,7]) となるのが自然ではなかろうか? であるとするならば、fはリストの各要素の計算でありそのままにして、matomeを改造する必要がある
299 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 21:31:17.15 ID:LbIjTSt1.net] >>289 どれに対しての話?
300 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 21:38:02.50 ID:Rw0hMsrD.net] >>290 sumでない場合は? たとえばa1*a2+a3みたいな一般式もありう
301 名前:るよね [] [ここ壊れてます]
302 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 21:38:57.48 ID:Rw0hMsrD.net] というか、ただのsumなら普通は関数にぶっこまないよね
303 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 21:43:59.07 ID:pr2Iyzs9.net] リストの各要素に1足すだけの場合も普通に関数にぶっこまないけどな
304 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 22:12:41.33 ID:pr2Iyzs9.net] >>292 matomeのデコレータ付けるだけで色んな一般式を適用した関数が簡単に作れるってことね はいはい、理解しました fをそのまま可変にすることばかり考えてたわ
305 名前:デフォルトの名無しさん mailto:sage [2022/07/17(日) 22:43:41.36 ID:Xin01ayH.net] zipするのは違うと思うけどな
306 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 09:21:19.20 ID:4im9UY7E.net] >>286 教えてくださりありがとうございます >>284 のほうが拡張性があって気に入りました やりたいことはできそうです ありがとうございました
307 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 10:01:23.22 ID:4lWXgehE.net] f(a,b,c) -> rをリスト用にリフトするなら f'([(a1,b1,c1), (a2,b2,c2),(a3,b3,c3)…]) -> [r1,r2,r3,…] f'(([a1,a2,a3,…], [b1,b2,b3,…], [c1,c2,c3,…])) -> [r1,r2,r3…] にするのは筋が悪い
308 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 10:22:26.91 ID:q/MsDqBP.net] >>290 の完成イメージ def get_list_items(func): ____def process(*lists): ________ret = tuple([func(item) for item in lst] for lst in lists) ________return ret[0] if len(ret) == 1 else ret ____return process @get_list_items def f3(item): ____return item+1 f3([1,2,3],[4,5,6],[7,8,9]) → ([2, 3, 4], [5, 6, 7], [8, 9, 10]) f3([1,2,3],[4,5,6]) → ([2, 3, 4], [5, 6, 7]) f3([1,2,3]) → [2, 3, 4] なるほど、この場合は可変にする必要性をあまり感じないね f3([1,2,3]), f3([4,5,6]), f3([7,8,9])って個別に呼べばいいだけだし >>284 の方が断然優れていますわ
309 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 10:36:45.20 ID:E3N1Hbif.net] 個別に呼ぶよりまとめて呼んだほうが処理が軽いんじゃないの
310 名前:名無し募集中。。。 mailto:sage [2022/07/18(月) 10:39:15.32 ID:kc1Sb0dj.net] FOR文でフォルダ以下のサブフォルダの中のファイルを 拡張子毎に振り分けるプログラムを作ってみましたが 1ファイルを移動するのに1秒くらいかかってしまいます shutil.move(FFF, KKK) (FFFとKKKは変数) この文を削除するとものすごく早くなります どうすれば早くなりますか?
311 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 10:44:27.05 ID:E3N1Hbif.net] でもあれか、matomeをつけてfを宣言してしまうと、普通にfを使うことができなくなってしまうのか このへん関数を呼ぶときにmatomeをつけるかどうかで使い分ける方法ないのかな
312 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 10:54:26.68 ID:Tf87Irt3.net] >>302 ごく素直に、fはデコレーターを付けずそのまま宣言する matomeを適用する関数はf_matome = matome(f)と定義する
313 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 11:04:03.01 ID:q/MsDqBP.net] >>302 デコレータ付けた関数はまとめてモジュール化するのが一番良いと思う list_func.f([1,2,3])
314 名前:デフォルトの名無しさん [2022/07/18(月) 11:36:57.20 ID:1omE+gQa.net] なんか頭の可笑しいのが劣化版だしまくるスレになってるな
315 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 12:10:19.60 ID:jgot1txW.net] >>301 srcとdstが同じドライブならos.renameかPath.renameにすれば速くなる 1秒が遅いのかどうかはファイル内容や環境によるから分からない
316 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 12:13:47.35 ID:J9TOF8GR.net] numpy ぐらい、Python のトップ・キノコードの動画があるのでは? キノクエストと言う、2千円のサロンも始まった
317 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 12:42:22.47 ID:Ni7oGdeS.net] >>301 PythonのバージョンやOS、テストしたファイルサイズ書こうよ Python3.10.5 Windows10は同じドライブならそんな時間かからないよ
318 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 12:47:11.59 ID:q/MsDqBP.net] >>305 いじけてないでキミも劣化版出せばいいんだよ 格好つけてたら何も
319 名前:できないぞ [] [ここ壊れてます]
320 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 13:41:26.68 ID:Zd8mDGLh.net] 少なくとも>>280 をやるためにデコレーターはないわ
321 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 14:39:38.37 ID:lIUF2c+K.net] >>310 >>289
322 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 14:46:42.16 ID:koL1rSR0.net] 初心者に対して不要な一般化は余計に分かりにくくするだけやろ やり方自体が御世辞にもいいアプローチとは言えないし
323 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 15:01:53.40 ID:q/MsDqBP.net] >>310 デコレータみたときは「やられた!」って思ったね しかも可変、嫉妬してちょっと噛みついてみたけど見事に返り討ち いやはや、彼のコードはみんなマネした方がいいよ、良いものはどんどん取り入れよう そういえば、ひろゆきが良く自慢げに言う話を思い出したんだけど、 ゲームを作ってみる授業?か何かで友達が書いたコードがメチャメチャ短かったんだって 上下左右の操作なんだけど、ちょっとした計算で実現していて、それ見たひろゆきが才能の差を 感じてゲームクリエイターをあきらめたとかいう才能の話 それ聞いたときはアホじゃね?良いコードみたらパクればいいだけじゃんって思ったものだよ たぶんひろゆきはすごくプライドが高くてちょっと躓いただけで諦めちゃうメンタルなんだよね そんなこんなで出来上がったのがヒマつぶしwとか言って他人の文句しか言わない人間になっちゃった 「頭悪い!」と他人を下げることで自分を慰める毎日、やっぱ諦めずに挑戦するのって大事だなって思いました そうホリエモンってひろゆきと真逆だよね、ホリエモンは今も色んなことに挑戦している、ホリエモンは輝いているよ
324 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 15:04:25.71 ID:PImFDAtt.net] >>312 >>297
325 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 15:04:43.60 ID:EPf9iKEG.net] >>311 一般的?
326 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 15:17:32.88 ID:J9TOF8GR.net] Ruby とか、関数型言語Elixir では、map が基本
327 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 15:18:04.67 ID:o0lyPM3S.net] 他人の話を否定するだけの奴って何の生産性もないよな 低レベルでもコード提示するほうがよっぽど役に立つわ
328 名前:デフォルトの名無しさん [2022/07/18(月) 15:22:34.62 ID:qwr+PsCM.net] >>312 参考までに良いアプローチplz
329 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 15:36:01.64 ID:y8tEu6pL.net] matomeとmap、どっちが速いんだろうか どっちもforで毎回f呼び出すよりは速そうだけど
330 名前:デフォルトの名無しさん [2022/07/18(月) 15:55:55.10 ID:GojDtZHN.net] デコレータ 使って観たい 御年頃
331 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 15:59:17.63 ID:LKJtspF0.net] 処理時間測定してみたらmapのほうが2割前後速かったわ
332 名前:デフォルトの名無しさん [2022/07/18(月) 15:59:40.46 ID:GojDtZHN.net] >低レベルでもコード提示するほうが ないわ
333 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 16:06:47.73 ID:kISKbyyY.net] ついでなんで書いとくね 実行時間 forを使ってf呼び出し:1 matome:0.5 map:0.4
334 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 16:21:22.72 ID:ln/vUyrz.net] >>322 比較対象は > 他人の話を否定するだけの奴 だぞ、頭大丈夫か?
335 名前:デフォルトの名無しさん [2022/07/18(月) 16:30:53.42 ID:qwr+PsCM.net] デコレーターに親殺されたニキがおるな
336 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 17:45:39.65 ID:UwLRS3iL.net] 普通に考えてリストに関数をそれぞれ適用させたいならmapが一番シンプルでmapと同意の内包表記が最もPythonらしいのでは?
337 名前:デフォルトの名無しさん [2022/07/18(月) 18:04:13.67 ID:LNL0CNxW.net] mapと同意?どういうこと?
338 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:04:19.00 ID:pfq1SIlO.net] お盆も近いからデコレータに恨みがある奴も 這い出して来ているんでしょう
339 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:08:48.63 ID:PImFDAtt.net] 単にmapの人が、なんでmap使わないんだと言っているだけなのでは? それがデコレータsageに見えると
340 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:23:16.60 ID:q/MsDqBP.net] 内包表記の方が断然好きだな〜、mapはシンプルになる場合もあるけど 今回のようにゴチャる場合もあるんだよな〜 下記はmatomeを自分好みの関数名と変数名に改変したヤツでっす! def get_lists_items(func): ____# 内包表記版 ____def process(*lists): ________return [func(*items) for items in zip(*lists)] ____return process def get_lists_items(func): ____# map版 ____def process(*lists): ________return list(map(lambda items: func(*items), zip(*lists))) ____return process
341 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:28:18.32 ID:2ipqvE3v.net] >>330 なんでzip? そういう引数リスト専用の関数を作りたいの?
342 名前:デフォルトの名無しさん [2022/07/18(月) 18:40:20.03 ID:qwr+PsCM.net] >>280 の望みは「intを引数に取り計算結果を返す関数を、"シームレスに"リストにも拡張すること」だからデコレーターが適当じゃない?Pythonicかどうかは知らん
343 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:50:45.67 ID:0V7pBSnr.net] デコレータは不適当 デコレータは基本的に元の関数を透過的に拡張するために使う物 def f(a, b, c)をデコレートしても デコレート前と同じf(a, b, c)で呼び出し可能で 成功時には同じ戻り値を得られるように作る 高階関数ならなんでもデコレータにすればいいわけじゃない
344 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:52:28.91 ID:q/MsDqBP.net] >>331 そのとおり、>>280 だけでなく色んなパターンのリスト関数が簡単に作れるのだよ このデコレータがあればね!
345 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:53:15.28 ID:9fYXH/DB.net] 勉強になったわ。 今までPyQtでアプリ作っていたが、@pyqtSlot()がQtデザイナーからのリンクみたいなもんかと思ってました。 すっきりです。
346 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 18:58:21.00 ID:VjQ/Ckj0.net] デコレーターのメリットがあるならそれ使えばいいけど遅い上に記述量増えるしね どう見ても>>320 だろw
347 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 20:38:42.55 ID:FbOneiqz.net] forよりは速い
348 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 22:52:23 ID:P7xIx3wJ.net] 今回の話でデコレータが内包表記より優れているという理屈が理解できない def f(a): return a+1 a=[1,2] print([f(i) for i in a]) これで事足りるでしょ
349 名前:デフォルトの名無しさん [2022/07/18(月) 22:52:35 ID:SFjyzDm9.net] 超絶初心者です。 counter: int = 0 # 他の処理で変わっていく def test(self): user_name = "xxxx" if counter > 0: now = datetime.datetime.now() ..... # 色々処理 now ←ここで nowは参照させたくない、スコープ外にしたい 今だとnow変数はif文が処理されれば値が入ります。 now変数のスコープをif文内だけにするってことはできますか。
350 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 23:05:31.63 ID:2hrGCnNJ.net] self ということはクラスメソッドだと思うけど 他のメソッドから self.test() を呼べば now は隠蔽される。 もしくは頭で now = None しておいて if now is not None: でわけるとか。
351 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 23:13:05.76 ID:1e6Pm9kS.net] >>330 starmap使えばlambdaいらない
352 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 23:22:42.01 ID:q/MsDqBP.net] >>341 なるほど、でも内包表記の方が見やすいよね! from itertools import starmap def get_lists_items(func): ____# starmap版 ____def process(*lists): ________return list(starmap(func, zip(*lists))) ____return process
353 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 23:35:38.05 ID:Yb4pZTqb.net] >>342 二択ならね でもどっちも用途に対してアンチパターンだから使わないのが吉
354 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 23:42:11.41 ID:q/MsDqBP.net] >>343 for文使うのがベストってこと?
355 名前:デフォルトの名無しさん mailto:sage [2022/07/18(月) 23:54:17 ID:8wpG6nJ0.net] re.matchで何がマッチしたか知る方法てある? s = 'ABCDEFGHIJK' m = re.match(r'ABC|HIJ', s) 'm: <re.Match object;
356 名前:span=(1, 4), match='BCD'> match='BCD'を取ってきたいのだが、方法てある? ネットだと()でくくってgroupsでとれて書いてあるけど、 s = 'ABCDEFGHIJK' m = re.search(r'(BCD|HIJ)', s) x_text = m.groups(0) print(x_text) ('BCD',)て表示されるし、x_textはstr型じゃないから文字列操作ができない。 Python 3.9.13です。 [] [ここ壊れてます]
357 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 00:05:16 ID:pVZms+nG.net] >>339 pythonにはブロックスコープがないので if文の中で新しく作成した変数のスコープをif文内だけにすることはできないよ
358 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 00:32:46.32 ID:8NIkYSWg.net] >>345 groupとgroupsとそれぞれある group(0)ならstr
359 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 01:22:31.44 ID:XqVlnmi4.net] >>339 del now でどうでしょうか
360 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 08:41:05.75 ID:UwsMPoKY.net] 内包表記って普通のforと違うみたいだけど、なんでこんなに速いの?
361 名前:デフォルトの名無しさん [2022/07/19(火) 09:10:11.34 ID:mYl9AT7Z.net] >>340 ,346,348 339です、どうもありがとうです。言語仕様的にブロックスコープないのはしょうがないですね。 del は試してみたいと思います。
362 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 09:30:11.93 ID:ioxaO2di.net] a=[f(x) for x in range(100)] で、今xがいくつのところをやってますとprintする方法はありますか? forを外に持ってくると処理が遅くなってしまうので避けたいです
363 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 09:32:53.74 ID:Dm4GA3mb.net] 訂正 a=[f(x[i]) for i in range(100)] にします iの値は関数に持ち込みません 持ち込むのなら関数でprintできますが、それはなしにします
364 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 10:04:16.93 ID:L7UUhMht.net] >>352 a = [print(i) or f(x[i]) for i in range(10)]
365 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 10:12:32 ID:zbPEuSRT.net] CPU処理を高速化するのはmultiprocessingを使うことでできたのですが、 今度はGPUでmodel.fitするほうが遅くてしょうがないです multiprocessing同様に簡単に速くする方法があれば教えてください
366 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 10:15:51 ID:XqVlnmi4.net] >>352 fの中でカウント用の変数を持ってインクリメントする
367 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 10:20:19 ID:+zTkD2Kt.net] で
368 名前:デフォルトの名無しさん mailto:sage [2022/07/19(火) 10:20:59 ID:+zTkD2Kt.net] >>353 できましたありがとう ところで、どうしてorなんでしょう?