[過去ログ] Pythonのお勉強 Part68 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
624
(1): (ワッチョイ 1379-87TA) 2022/11/02(水)22:50 ID:rAnbDRgM0(2/2) AAS
>>615
最後尾への追加削除がO(1)だったからリンクリストだと思ったけど
リアロケートの実装でどうにかそれっぽくなるんだねぇ
全く気にしてなかったけど、勉強になったわ
625: (ワッチョイ d347-gj4s) 2022/11/02(水)22:58 ID:P6hHm0TD0(1) AAS
ループで一つずつappendしていくようなコードは、
溜めておいて一気にどーんで高速化できそう
626: (ワッチョイ 694f-hZr9) 2022/11/02(水)23:13 ID:Vdzb0Lkj0(1) AAS
Elixir なんて片方向リストだから、先頭の要素の追加・削除のみ速い。
末尾では全要素をたどる

Ruby は両方向リストだったかな?
627: (ワッチョイ 8b10-WE8j) 2022/11/02(水)23:41 ID:d827SSNz0(1) AAS
>>623
pythonの辞書は順番を保持することが仕様で規定されてる
628: (ワッチョイ 8b89-g96c) 2022/11/03(木)00:20 ID:gcHdWorI0(1) AAS
3年くらい前からだっけ?
キーバリューやから順番気にしたことなかったわ
629: (ワッチョイ d347-gj4s) 2022/11/03(木)00:37 ID:vWeFXHff0(1) AAS
順番が同じだとセキュリティの問題があるから意図的にランダムにしてなかったっけ
630: (ワッチョイ 7997-uk66) 2022/11/03(木)00:45 ID:9oLRzF140(1/2) AAS
>>624
C++のvectorとか、JavaのArrayListの典型的な実装だと、リアロケートが発生するときに倍ぐらいの領域を予め確保しておく、ってのが普通って読んだな
コードレベルで読んだ訳じゃないから確たるエビデンスがあるわけじゃないけど。
631: (ワッチョイ 7997-uk66) 2022/11/03(木)00:49 ID:9oLRzF140(2/2) AAS
辞書は3.5だかそのぐらいで入れた順になるように仕様が決まったよね
それまではバラバラだったはず
あとソート済みが欲しいならsortedcollectionsがあるんじゃないの
Pythonでパフォーマンス気にするようなコード書いたことないから速くなるかは知らないが
パフォーマンス気になるならもう普通にpybind11よ
632: (ワッチョイ 8b46-g96c) 2022/11/03(木)01:13 ID:t2qUW0n10(1/3) AAS
動的配列は償却計算量の典型例だぞ
633: (ワッチョイ 13ad-ww+g) 2022/11/03(木)09:06 ID:b87ZSO0X0(1) AAS
半島人w
634: (ワッチョイ 9397-pRvw) 2022/11/03(木)13:19 ID:M31+WIXk0(1) AAS
ネトウヨはコードすら書けない
635
(4): (ワッチョイ 692c-3A4z) 2022/11/03(木)17:39 ID:JzcJhjtx0(1) AAS
isPrime(n: int):
__for i in range(2, n//2 + 1):
____if (not n%i):
______return 0
__return 1

numPrimes = 0

for i in range(2, 250001):
__numPrimes += isPrime(i)

print(numPrimes)

cとかだと5秒以下で終わると思うんですが
省1
636: (ワッチョイ d347-gj4s) 2022/11/03(木)17:50 ID:6cc1wOit0(1) AAS
全角スペースでインデントするといい
637
(1): (ワッチョイ 8b46-g96c) 2022/11/03(木)17:57 ID:t2qUW0n10(2/3) AAS
エラトステネスの篩みたいなまともなアルゴリズムを使え
638: (ワッチョイ 1302-4ham) 2022/11/03(木)18:05 ID:pngFKRCN0(1) AAS
>>635
range(2, n//2 + 1) を range(2, int(n**0.5)+1)
にするだけで速くなると言うのは違うか。

n**0.5 は math を import するのが面倒だっただけ。。。
639: (アウアウウー Sa9d-5cND) 2022/11/03(木)18:12 ID:Tny9BBIXa(1) AAS
しょーもないネタ振り
640
(1): (JP 0He5-3A4z) 2022/11/03(木)18:58 ID:Ppt07bQPH(1) AAS
>>637
言語間の速度差を埋めたいという文脈で
片方により効率的なアルゴリズム使えというのは筋が違うと思う
それやったら相手のCも早くなるやん
641: (ワッチョイ 8b46-g96c) 2022/11/03(木)19:15 ID:t2qUW0n10(3/3) AAS
それはそうだけどPythonをできるだけ速くしようというのは徒労に終わるんだよな
642: (ガックシ 06eb-lAaw) 2022/11/03(木)19:17 ID:5fumPTTR6(1) AAS
>>635
allかanyか使う
643: (ワッチョイ 1301-pRvw) 2022/11/03(木)19:45 ID:NbsIPyEs0(1) AAS
>>640
> 言語間の速度差を埋めたいという文脈で
そうか、単にPythonで高速化したいだけに見えるけど?

> pythonではどうやって高速化できますか?
1-
あと 359 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.016s