【まず1嫁】くだすれPython(超初心者用) その57

■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
当スレに★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公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
287デフォルトの名無しさん
垢版 |
2022/07/17(日) 19:47:38.44ID:Fxi+TDuE
>>286
それだとfの引数が増えた時に対応できない
2022/07/17(日) 20:59:15.42ID:4v0QWrzY
mapと内包表記どっちが軽いんだろ?
a=[1,2]
b=[i+1 for i in a]
これで終わる話ではあるよね
2022/07/17(日) 21:23:00.57ID:zoulLgXv
話を単純化して話してんだろ
一般的な解があるほうが親切
2022/07/17(日) 21:25:35.67ID:pr2Iyzs9
>>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を改造する必要がある
2022/07/17(日) 21:31:17.15ID:LbIjTSt1
>>289
どれに対しての話?
2022/07/17(日) 21:38:02.50ID:Rw0hMsrD
>>290
sumでない場合は?
たとえばa1*a2+a3みたいな一般式もありうるよね
2022/07/17(日) 21:38:57.48ID:Rw0hMsrD
というか、ただのsumなら普通は関数にぶっこまないよね
2022/07/17(日) 21:43:59.07ID:pr2Iyzs9
リストの各要素に1足すだけの場合も普通に関数にぶっこまないけどな
2022/07/17(日) 22:12:41.33ID:pr2Iyzs9
>>292
matomeのデコレータ付けるだけで色んな一般式を適用した関数が簡単に作れるってことね
はいはい、理解しました
fをそのまま可変にすることばかり考えてたわ
2022/07/17(日) 22:43:41.36ID:Xin01ayH
zipするのは違うと思うけどな
2022/07/18(月) 09:21:19.20ID:4im9UY7E
>>286
教えてくださりありがとうございます
>>284のほうが拡張性があって気に入りました
やりたいことはできそうです
ありがとうございました
2022/07/18(月) 10:01:23.22ID:4lWXgehE
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…]
にするのは筋が悪い
2022/07/18(月) 10:22:26.91ID:q/MsDqBP
>>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の方が断然優れていますわ
2022/07/18(月) 10:36:45.20ID:E3N1Hbif
個別に呼ぶよりまとめて呼んだほうが処理が軽いんじゃないの
2022/07/18(月) 10:39:15.32ID:kc1Sb0dj
FOR文でフォルダ以下のサブフォルダの中のファイルを
拡張子毎に振り分けるプログラムを作ってみましたが
1ファイルを移動するのに1秒くらいかかってしまいます
shutil.move(FFF, KKK) (FFFとKKKは変数)
この文を削除するとものすごく早くなります
どうすれば早くなりますか?
2022/07/18(月) 10:44:27.05ID:E3N1Hbif
でもあれか、matomeをつけてfを宣言してしまうと、普通にfを使うことができなくなってしまうのか
このへん関数を呼ぶときにmatomeをつけるかどうかで使い分ける方法ないのかな
2022/07/18(月) 10:54:26.68ID:Tf87Irt3
>>302
ごく素直に、fはデコレーターを付けずそのまま宣言する
matomeを適用する関数はf_matome = matome(f)と定義する
2022/07/18(月) 11:04:03.01ID:q/MsDqBP
>>302
デコレータ付けた関数はまとめてモジュール化するのが一番良いと思う
list_func.f([1,2,3])
305デフォルトの名無しさん
垢版 |
2022/07/18(月) 11:36:57.20ID:1omE+gQa
なんか頭の可笑しいのが劣化版だしまくるスレになってるな
2022/07/18(月) 12:10:19.60ID:jgot1txW
>>301
srcとdstが同じドライブならos.renameかPath.renameにすれば速くなる
1秒が遅いのかどうかはファイル内容や環境によるから分からない
2022/07/18(月) 12:13:47.35ID:J9TOF8GR
numpy ぐらい、Python のトップ・キノコードの動画があるのでは?

キノクエストと言う、2千円のサロンも始まった
2022/07/18(月) 12:42:22.47ID:Ni7oGdeS
>>301
PythonのバージョンやOS、テストしたファイルサイズ書こうよ
Python3.10.5 Windows10は同じドライブならそんな時間かからないよ
2022/07/18(月) 12:47:11.59ID:q/MsDqBP
>>305
いじけてないでキミも劣化版出せばいいんだよ
格好つけてたら何もできないぞ
2022/07/18(月) 13:41:26.68ID:Zd8mDGLh
少なくとも>>280をやるためにデコレーターはないわ
2022/07/18(月) 14:39:38.37ID:lIUF2c+K
>>310
>>289
2022/07/18(月) 14:46:42.16ID:koL1rSR0
初心者に対して不要な一般化は余計に分かりにくくするだけやろ
やり方自体が御世辞にもいいアプローチとは言えないし
2022/07/18(月) 15:01:53.40ID:q/MsDqBP
>>310
デコレータみたときは「やられた!」って思ったね
しかも可変、嫉妬してちょっと噛みついてみたけど見事に返り討ち
いやはや、彼のコードはみんなマネした方がいいよ、良いものはどんどん取り入れよう

そういえば、ひろゆきが良く自慢げに言う話を思い出したんだけど、
ゲームを作ってみる授業?か何かで友達が書いたコードがメチャメチャ短かったんだって
上下左右の操作なんだけど、ちょっとした計算で実現していて、それ見たひろゆきが才能の差を
感じてゲームクリエイターをあきらめたとかいう才能の話
それ聞いたときはアホじゃね?良いコードみたらパクればいいだけじゃんって思ったものだよ
たぶんひろゆきはすごくプライドが高くてちょっと躓いただけで諦めちゃうメンタルなんだよね
そんなこんなで出来上がったのがヒマつぶしwとか言って他人の文句しか言わない人間になっちゃった
「頭悪い!」と他人を下げることで自分を慰める毎日、やっぱ諦めずに挑戦するのって大事だなって思いました
そうホリエモンってひろゆきと真逆だよね、ホリエモンは今も色んなことに挑戦している、ホリエモンは輝いているよ
2022/07/18(月) 15:04:25.71ID:PImFDAtt
>>312
>>297
2022/07/18(月) 15:04:43.60ID:EPf9iKEG
>>311
一般的?
2022/07/18(月) 15:17:32.88ID:J9TOF8GR
Ruby とか、関数型言語Elixir では、map が基本
2022/07/18(月) 15:18:04.67ID:o0lyPM3S
他人の話を否定するだけの奴って何の生産性もないよな
低レベルでもコード提示するほうがよっぽど役に立つわ
318デフォルトの名無しさん
垢版 |
2022/07/18(月) 15:22:34.62ID:qwr+PsCM
>>312
参考までに良いアプローチplz
2022/07/18(月) 15:36:01.64ID:y8tEu6pL
matomeとmap、どっちが速いんだろうか
どっちもforで毎回f呼び出すよりは速そうだけど
320デフォルトの名無しさん
垢版 |
2022/07/18(月) 15:55:55.10ID:GojDtZHN
デコレータ
使って観たい
御年頃
2022/07/18(月) 15:59:17.63ID:LKJtspF0
処理時間測定してみたらmapのほうが2割前後速かったわ
322デフォルトの名無しさん
垢版 |
2022/07/18(月) 15:59:40.46ID:GojDtZHN
>低レベルでもコード提示するほうが

ないわ
2022/07/18(月) 16:06:47.73ID:kISKbyyY
ついでなんで書いとくね
実行時間
forを使ってf呼び出し:1
matome:0.5
map:0.4
2022/07/18(月) 16:21:22.72ID:ln/vUyrz
>>322
比較対象は
> 他人の話を否定するだけの奴
だぞ、頭大丈夫か?
325デフォルトの名無しさん
垢版 |
2022/07/18(月) 16:30:53.42ID:qwr+PsCM
デコレーターに親殺されたニキがおるな
2022/07/18(月) 17:45:39.65ID:UwLRS3iL
普通に考えてリストに関数をそれぞれ適用させたいならmapが一番シンプルでmapと同意の内包表記が最もPythonらしいのでは?
327デフォルトの名無しさん
垢版 |
2022/07/18(月) 18:04:13.67ID:LNL0CNxW
mapと同意?どういうこと?
2022/07/18(月) 18:04:19.00ID:pfq1SIlO
お盆も近いからデコレータに恨みがある奴も
這い出して来ているんでしょう
2022/07/18(月) 18:08:48.63ID:PImFDAtt
単にmapの人が、なんでmap使わないんだと言っているだけなのでは?
それがデコレータsageに見えると
2022/07/18(月) 18:23:16.60ID:q/MsDqBP
内包表記の方が断然好きだな〜、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
2022/07/18(月) 18:28:18.32ID:2ipqvE3v
>>330
なんでzip?
そういう引数リスト専用の関数を作りたいの?
332デフォルトの名無しさん
垢版 |
2022/07/18(月) 18:40:20.03ID:qwr+PsCM
>>280の望みは「intを引数に取り計算結果を返す関数を、"シームレスに"リストにも拡張すること」だからデコレーターが適当じゃない?Pythonicかどうかは知らん
2022/07/18(月) 18:50:45.67ID:0V7pBSnr
デコレータは不適当

デコレータは基本的に元の関数を透過的に拡張するために使う物

def f(a, b, c)をデコレートしても
デコレート前と同じf(a, b, c)で呼び出し可能で
成功時には同じ戻り値を得られるように作る

高階関数ならなんでもデコレータにすればいいわけじゃない
2022/07/18(月) 18:52:28.91ID:q/MsDqBP
>>331
そのとおり、>>280だけでなく色んなパターンのリスト関数が簡単に作れるのだよ
このデコレータがあればね!
2022/07/18(月) 18:53:15.28ID:9fYXH/DB
勉強になったわ。
今までPyQtでアプリ作っていたが、@pyqtSlot()がQtデザイナーからのリンクみたいなもんかと思ってました。
すっきりです。
2022/07/18(月) 18:58:21.00ID:VjQ/Ckj0
デコレーターのメリットがあるならそれ使えばいいけど遅い上に記述量増えるしね
どう見ても>>320だろw
2022/07/18(月) 20:38:42.55ID:FbOneiqz
forよりは速い
2022/07/18(月) 22:52:23.80ID:P7xIx3wJ
今回の話でデコレータが内包表記より優れているという理屈が理解できない
def f(a):
  return a+1

a=[1,2]
print([f(i) for i in a])

これで事足りるでしょ
339デフォルトの名無しさん
垢版 |
2022/07/18(月) 22:52:35.33ID:SFjyzDm9
超絶初心者です。
counter: int = 0 # 他の処理で変わっていく
def test(self):
  user_name = "xxxx"
  if counter > 0:
   now = datetime.datetime.now()
   ..... # 色々処理
now ←ここで nowは参照させたくない、スコープ外にしたい

今だとnow変数はif文が処理されれば値が入ります。
now変数のスコープをif文内だけにするってことはできますか。
2022/07/18(月) 23:05:31.63ID:2hrGCnNJ
self ということはクラスメソッドだと思うけど
他のメソッドから self.test() を呼べば now は隠蔽される。
もしくは頭で now = None しておいて
if now is not None:
でわけるとか。
2022/07/18(月) 23:13:05.76ID:1e6Pm9kS
>>330
starmap使えばlambdaいらない
2022/07/18(月) 23:22:42.01ID:q/MsDqBP
>>341 なるほど、でも内包表記の方が見やすいよね!
from itertools import starmap
def get_lists_items(func):
____# starmap版
____def process(*lists):
________return list(starmap(func, zip(*lists)))
____return process
2022/07/18(月) 23:35:38.05ID:Yb4pZTqb
>>342
二択ならね
でもどっちも用途に対してアンチパターンだから使わないのが吉
2022/07/18(月) 23:42:11.41ID:q/MsDqBP
>>343
for文使うのがベストってこと?
2022/07/18(月) 23:54:17.73ID:8wpG6nJ0
re.matchで何がマッチしたか知る方法てある?
s = 'ABCDEFGHIJK'
m = re.match(r'ABC|HIJ', s) 'm: <re.Match object; 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です。
2022/07/19(火) 00:05:16.63ID:pVZms+nG
>>339
pythonにはブロックスコープがないので
if文の中で新しく作成した変数のスコープをif文内だけにすることはできないよ
2022/07/19(火) 00:32:46.32ID:8NIkYSWg
>>345
groupとgroupsとそれぞれある
group(0)ならstr
2022/07/19(火) 01:22:31.44ID:XqVlnmi4
>>339
del now でどうでしょうか
2022/07/19(火) 08:41:05.75ID:UwsMPoKY
内包表記って普通のforと違うみたいだけど、なんでこんなに速いの?
350デフォルトの名無しさん
垢版 |
2022/07/19(火) 09:10:11.34ID:mYl9AT7Z
>>340,346,348
339です、どうもありがとうです。言語仕様的にブロックスコープないのはしょうがないですね。
del は試してみたいと思います。
2022/07/19(火) 09:30:11.93ID:ioxaO2di
a=[f(x) for x in range(100)]
で、今xがいくつのところをやってますとprintする方法はありますか?
forを外に持ってくると処理が遅くなってしまうので避けたいです
2022/07/19(火) 09:32:53.74ID:Dm4GA3mb
訂正
a=[f(x[i]) for i in range(100)]
にします
iの値は関数に持ち込みません
持ち込むのなら関数でprintできますが、それはなしにします
2022/07/19(火) 10:04:16.93ID:L7UUhMht
>>352
a = [print(i) or f(x[i]) for i in range(10)]
2022/07/19(火) 10:12:32.45ID:zbPEuSRT
CPU処理を高速化するのはmultiprocessingを使うことでできたのですが、
今度はGPUでmodel.fitするほうが遅くてしょうがないです
multiprocessing同様に簡単に速くする方法があれば教えてください
2022/07/19(火) 10:15:51.10ID:XqVlnmi4
>>352
fの中でカウント用の変数を持ってインクリメントする
2022/07/19(火) 10:20:19.62ID:+zTkD2Kt
2022/07/19(火) 10:20:59.40ID:+zTkD2Kt
>>353
できましたありがとう
ところで、どうしてorなんでしょう?
358デフォルトの名無しさん
垢版 |
2022/07/19(火) 10:23:27.04ID:2mzjLS5j
>>332
numpyが最適
わりとまじで
359デフォルトの名無しさん
垢版 |
2022/07/19(火) 10:30:11.09ID:2mzjLS5j
>>345
re.findall
360デフォルトの名無しさん
垢版 |
2022/07/19(火) 10:31:34.68ID:2mzjLS5j
>>349
普通のforと違うから
2022/07/19(火) 10:36:57.19ID:COa8jHBw
>>357
print(i)の戻り値がNoneだから、必ずorの右辺を返す
2022/07/19(火) 10:51:26.50ID:brlHmAiq
>>357
どうして?という直感はまっとうで
読み手の思考が止まるので必ず成功・失敗するケースだとその用法は不適
書き捨て用
2022/07/19(火) 11:07:31.09ID:+zTkD2Kt
>>361
なるほど、かしこいですね

>>362
では、どのような書き方が適切なのか教えてください
364デフォルトの名無しさん
垢版 |
2022/07/19(火) 11:30:53.28ID:bdrM7/md
printしたらforと内包表記の違いなんて誤差に見えるほど遅くなると思うがそれはええんか?
365デフォルトの名無しさん
垢版 |
2022/07/19(火) 11:33:51.75ID:RISkfx3J
forと内包表記で速さに違いが出るのはなぜですか?

同じコードをなぜ生成しないんですか?
366デフォルトの名無しさん
垢版 |
2022/07/19(火) 11:37:38.74ID:856tCJOd
内包表記でプログレス挟んで遅いのは嫌とかバカの極み
可読性考えて普通のforで回せ。 つか速度測ってみろ。大差ねえわたぶん

[(f(x[i]), print(i)) for i in range(10)]
2022/07/19(火) 12:00:14.16ID:GEUE7oT9
超初心者を馬鹿にしないと精神の安定が保てないかわいそうな人
368デフォルトの名無しさん
垢版 |
2022/07/19(火) 12:19:44.97ID:192s6b8D
馬鹿にされるような日本語使いする自称超初心者が悪い
2022/07/19(火) 12:24:07.94ID:AricPVYV
>>349
比較したコードを出してみて
2022/07/19(火) 12:31:03.42ID:ZGMRA42U
>>351
print等の副作用を伴う処理を繰り返す場合は
内包表記ではなくforを使うのがpythonにおける暗黙の了解
値の加工生成と入出力を分けて書くのはpythonに限らずプログラミングの基本
371デフォルトの名無しさん
垢版 |
2022/07/19(火) 12:45:56.52ID:2mzjLS5j
>>363
a = [[print(i), f(x[i])][1] for i in range(10)]
2022/07/19(火) 12:59:28.59ID:COa8jHBw
カウント1毎にプログレス表示すると内包表記使う意味ないかもしれんが、
リストへの追加100毎
カウント10000000毎にプログレス
で時間計測してみた

内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒

forループ
a=[]
for i in range(100000000):
____if not (i%10000000):
________print(i)
____if i%100 == 0:
________a.append(str(i))
20秒

行儀悪い書き方だが、条件しだいで効果はある
2022/07/19(火) 13:09:56.89ID:ieHxnJ8/
>>365
ループ内でpythonのインタプリタで実行される処理とコンパイル済みのCのコードで実行される処理の行き来が減れば速くなる

内包表記は式しか書けないのとlist.appendのようにインタプリタがメソッドを探す処理が不要にになることが多いので単純な式評価だと内包表記がやや速い結果になりやすい
(例えばループの外でappend = outlist.appendとしてループ内ではメソッドじゃなく関数呼び出しにすれば多少速くなる)

ただforより内包表記が速いから内包表記を使うというのは使い方が間違ってるか使う言語を間違ってる
374デフォルトの名無しさん
垢版 |
2022/07/19(火) 13:35:02.16ID:RISkfx3J
>>373

ありがとうございました。
処理系が書き方の違いを吸収して同じ(速い)コードを生成することは難しいのでしょうか?
375デフォルトの名無しさん
垢版 |
2022/07/19(火) 13:41:20.47ID:2mzjLS5j
8秒の方はstr()呼ばれる回数も少ないんじゃね
やり直し
376デフォルトの名無しさん
垢版 |
2022/07/19(火) 13:45:55.20ID:e6PA2QPH
内包表記を配列操作以外に使うな(関数叩くな)って書いてるのeffective pythonだっけ

>>374
速いコードって、たとえば進捗吐かないとか、無駄な評価式やループしないとか、そうやって作ってくんよ
鈍重な書き方しても速いのがいいっていうなら、もう根本的にpythonは遅い言語だよ
2022/07/19(火) 13:57:38.21ID:COa8jHBw
>>375
str()呼ばれる回数は同じじゃね
でも、i%10000000の回数違ってた

内包表記
a = [(i%10000000 or print(i), str(i))[1] for i in range(100000000) if i%100 == 0]
8秒

forループ
a=[]
for i in range(100000000):
____if i%100 == 0:
________if not (i%10000000):
____________print(i)
________a.append(str(i))
12秒
2022/07/19(火) 14:02:29.41ID:6WNMcjy9
>>377
printしない場合は?
2022/07/19(火) 14:08:53.16ID:COa8jHBw
>>378
str(i)呼ぶ回数は、両方 100000000 / 100 = 1000000回
2022/07/19(火) 14:12:29.27ID:6WNMcjy9
>>379
うんだから何秒なの?
381デフォルトの名無しさん
垢版 |
2022/07/19(火) 14:12:50.87ID:Xr1AbmZQ
結局書きづらい、読みづらくてミスしちゃうんだから
普通のforループの方が総カロリー低いと思います
2022/07/19(火) 14:17:28.28ID:COa8jHBw
>>380
printしない内包表記
a = [str(i) for i in range(100000000) if i%100 == 0]
8秒
383デフォルトの名無しさん
垢版 |
2022/07/19(火) 14:19:06.99ID:RISkfx3J
行列プログラマーという本では、集合の表記に近い内包表記のほうが分かりやすいと書いてあります。
実際、もっぱら内包表記を使っています。
2022/07/19(火) 14:40:11.78ID:HHxHBIIc
>>382
つまりprintは時間がかかってないわけだよね
で、普通のforより内包表記のほうが速い分だけ速くなってると
それは何の実験なんだい?
385デフォルトの名無しさん
垢版 |
2022/07/19(火) 14:49:08.31ID:Dd2ngZhk
内包表記でもインデントしていいんですよ
可読性高めていけ
2022/07/19(火) 14:52:21.67ID:COa8jHBw
>>384
進捗を大雑把に表示したい場合、内包表記でprintするのも有りという実験
俺は開発中以外では使わんけど
完成したコードにこんなの書いてたらやだ
2022/07/19(火) 15:07:57.56ID:COa8jHBw
printは時間がかかってないのではなく回数を少なくしてる
他の人が指摘してるように、進捗を細かく表示したい場合、内包表記もforループも時間差はほぼ無くなる
printはやはり時間がかかる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況