Pythonのお勉強 Part75 (973レス)
Pythonのお勉強 Part75 http://mevius.5ch.net/test/read.cgi/tech/1743698824/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
417: デフォルトの名無しさん (ワッチョイ d701-1LxV) [] 2025/07/04(金) 22:35:02.26 ID:qssSI6rZ0 初めまして http://mevius.5ch.net/test/read.cgi/tech/1743698824/417
418: デフォルトの名無しさん (ワッチョイ b754-1VI2) [sage] 2025/07/07(月) 23:09:08.79 ID:Fgzb82LA0 deque()にappendするとO(1)だけど、listだとO(n)になる とネットで読んだのでそれはいいことを聞いたと比較してもなんも変わらん listもO(1)に改良された? http://mevius.5ch.net/test/read.cgi/tech/1743698824/418
419: デフォルトの名無しさん (ワッチョイ d707-LERx) [sage] 2025/07/07(月) 23:23:20.83 ID:FJRRFujO0 メモリ確保で再配置が発生するのは環境にもよるし稀だからそこをゼロとみなすと どっちもO(1)じゃね? http://mevius.5ch.net/test/read.cgi/tech/1743698824/419
420: デフォルトの名無しさん (ワッチョイ b754-1VI2) [sage] 2025/07/07(月) 23:27:40.71 ID:Fgzb82LA0 listがリスト構造になってて、先頭から末尾まで辿らないといけないならO(n) でもlistなんてappendでしか作らないんだし、そんな非効率なことせんやろと思えばO(1) http://mevius.5ch.net/test/read.cgi/tech/1743698824/420
421: デフォルトの名無しさん (ワッチョイ f701-J1F0) [sage] 2025/07/07(月) 23:39:04.16 ID:OMOKcj7b0 prependとかの間違いじゃね? appendleft, popleftように先頭への追加・先頭からの取得がdequesはO(1)だけどlistはO(n) 末尾への追加・末尾からの取得(append/pop)はlistもO(1) http://mevius.5ch.net/test/read.cgi/tech/1743698824/421
422: デフォルトの名無しさん (ワッチョイ d707-LERx) [sage] 2025/07/07(月) 23:50:49.97 ID:FJRRFujO0 418はlistの実態が配列(vector)とわかってないだけ コンテナで末尾要素保持してるリストだと思ってる http://mevius.5ch.net/test/read.cgi/tech/1743698824/422
423: デフォルトの名無しさん (ワッチョイ b754-1VI2) [sage] 2025/07/08(火) 06:15:29.63 ID:Qj3wdBkS0 ネットに書いてあった、というのはこれ https://note.nkmk.me/python-collections-deque/ 確かによく読むと、listでappendがO(n)とは書いてない > リストでは(中略)O(n)のコストを必要とするが、 > dequeでは先頭・末尾の要素を追加・削除するappend(), appendleft(), pop(), popleft()がすべてO(1)で実行できる。 dequeだとappend()だとO(1)だと自慢するからには、listはそうじゃないのかと騙された 先頭への挿入だと桁違いにdeque有利 でもそんなデータの持ち方しないので、今ひとつ使い所が無い http://mevius.5ch.net/test/read.cgi/tech/1743698824/423
424: デフォルトの名無しさん (ワッチョイ ff10-6EkQ) [sage] 2025/07/08(火) 08:17:31.59 ID:p5eoB2uL0 自分もlistで足りるような小さなプログラムしか書かないからdeqを実際に使ったことはないんだけれど、キューみたいなFILOのデータ構造を作るにはcollections.deqは便利なんだと思うよ。というか、そのnoteにもちゃんと書いてあるじゃない。(中略)のところに。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/424
425: デフォルトの名無しさん (ワッチョイ ff10-6EkQ) [sage] 2025/07/08(火) 08:21:06.70 ID:p5eoB2uL0 失礼、deqじゃなくてdequeか。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/425
426: デフォルトの名無しさん (ワッチョイ 57b8-6EkQ) [sage] 2025/07/08(火) 09:14:36.09 ID:o+j4YzbQ0 FILOじゃなくてLILOだね。ごめん、今日はちょっと寝ぼけ過ぎだわ。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/426
427: デフォルトの名無しさん (ワッチョイ 9fca-5AH1) [sage] 2025/07/08(火) 09:46:52.48 ID:cPzLVtg40 なぁに、どんまい いつものことだ http://mevius.5ch.net/test/read.cgi/tech/1743698824/427
428: デフォルトの名無しさん (ワッチョイ f701-9mUg) [sage] 2025/07/08(火) 10:52:30.42 ID:KWb1fHfq0 >>423 その直後の公式リファレンスの引用箇所に「pop(0) や insert(0, v)はO(n)」って書いてる >list オブジェクトでも同様の操作を実現できますが、これは高速な固定長の操作に特化されており、内部のデータ表現形式のサイズと位置を両方変えるような pop(0) や insert(0, v) などの操作ではメモリ移動のために O(n) のコストを必要とします。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/428
429: デフォルトの名無しさん (スフッ Sdbf-zcFv) [] 2025/07/08(火) 11:06:39.94 ID:Lf/Jcjxkd pythonでlistは命名を間違ったんだろ http://mevius.5ch.net/test/read.cgi/tech/1743698824/429
430: デフォルトの名無しさん (スフッ Sdbf-zcFv) [] 2025/07/08(火) 11:07:46.29 ID:Lf/Jcjxkd 426 FIFOとLILOの違いを解説してくれ FILOじゃなく http://mevius.5ch.net/test/read.cgi/tech/1743698824/430
431: デフォルトの名無しさん (ワッチョイ f7b1-5AH1) [sage] 2025/07/08(火) 12:17:08.65 ID:oRmRKSqt0 ロリに見えたひと先生怒らないから手を揚げなさい http://mevius.5ch.net/test/read.cgi/tech/1743698824/431
432: デフォルトの名無しさん (ワッチョイ f701-Gm4U) [sage] 2025/07/08(火) 13:13:14.80 ID:+FhuPDAr0 FIFOかLIFOやろ FILOもLILOもstackやqueueの文脈では使われない http://mevius.5ch.net/test/read.cgi/tech/1743698824/432
433: デフォルトの名無しさん (ワッチョイ 9f6d-6EkQ) [sage] 2025/07/08(火) 14:30:13.62 ID:Ibve/xnR0 FIFO = LILO …… キューとか FILO = LIFO …… スタックとか ただ、432のようにFOという書き方を好む人が多いみたいね。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/433
434: デフォルトの名無しさん (ワッチョイ 9ffd-h4ne) [] 2025/07/08(火) 15:07:21.13 ID:WMpsyBaN0 そりゃそうだろ http://mevius.5ch.net/test/read.cgi/tech/1743698824/434
435: デフォルトの名無しさん (ワッチョイ b754-1VI2) [sage] 2025/07/08(火) 19:09:29.65 ID:/6/LIdXs0 なるほど、FIFOバッファ作るのに向いてるのか そういう必要に迫られたら、バッファサイズ固定でリングバッファの発想しか無いな dequeも似たようなことやってるんだろうけど、バッファサイズが動的に変えられる 中のメモリどうなっとんねん http://mevius.5ch.net/test/read.cgi/tech/1743698824/435
436: デフォルトの名無しさん (ワッチョイ 9f20-p46g) [sage] 2025/07/08(火) 20:01:16.09 ID:yBGpSZNW0 >>435 そこはlist(いわゆる動的配列)と同じで、配列が満杯になったら大きな配列を確保し直して全コピするだけだよ もちろんその際はO(N)、魔法はない http://mevius.5ch.net/test/read.cgi/tech/1743698824/436
437: デフォルトの名無しさん (ワッチョイ b754-1VI2) [sage] 2025/07/08(火) 20:08:45.12 ID:/6/LIdXs0 音声データ出力とかさせたらブチブチ切れそうだな http://mevius.5ch.net/test/read.cgi/tech/1743698824/437
438: 436 (ワッチョイ 9f20-p46g) [sage] 2025/07/08(火) 20:52:38.31 ID:yBGpSZNW0 すまん訂正する dequeueは配列ではなく双方向リンクリストで実装されているため、バッファの再確保は発生しないようだ 一般にリンクリストは動的配列に比べてゴミのように遅いが、そもそもPythonインタプリタ自体がゲロ遅いため>>437の懸念の通り安定性の方を取ったのだろう http://mevius.5ch.net/test/read.cgi/tech/1743698824/438
439: デフォルトの名無しさん (ワッチョイ ff9c-sH2C) [] 2025/07/09(水) 09:53:25.01 ID:9mJpZcLF0 最初っからデータが連続してなくて個別に管理してるだけでしょ そうすりゃデータ量が毎回変わっても、同じアルゴリズムで使える その代わり、常に個別のアドレスをすべて管理して比較して並べ替えするから遅いわな http://mevius.5ch.net/test/read.cgi/tech/1743698824/439
440: デフォルトの名無しさん (ワッチョイ 9f80-4Q3H) [] 2025/07/10(木) 17:20:04.47 ID:qeCO91fI0 AMDが画像生成AI「Nitro-T」をリリース、32基のInstinct MI300Xでゼロから1日未満でトレーニング可能 https://gigazine.net/news/20250710-amd-nitro-t-text-to-image-diffusion-model/ http://mevius.5ch.net/test/read.cgi/tech/1743698824/440
441: デフォルトの名無しさん (ワッチョイ b754-1VI2) [sage] 2025/07/10(木) 19:08:57.31 ID:TwB+vwVm0 端っこしかアクセスしません、というのが前提みたいなものだな 100番目見たいんだけどとか、100番目に挿入したいんだけどと言われたら絶望する http://mevius.5ch.net/test/read.cgi/tech/1743698824/441
442: デフォルトの名無しさん (ワッチョイ 576b-4VWQ) [sage] 2025/07/10(木) 21:24:45.22 ID:pWdjbLc50 map「ぼくをつかえ!」 http://mevius.5ch.net/test/read.cgi/tech/1743698824/442
443: デフォルトの名無しさん (スフッ Sdbf-zcFv) [sage] 2025/07/11(金) 14:40:45.73 ID:zLrVPFvnd mapでもorderedmapでもN番目って概念が間違ってる 添字を通し番号のインデックスと観るかkeyvalueのkeyと観るかで 印象は変わるかも知れんがそれは君が観てる幻 http://mevius.5ch.net/test/read.cgi/tech/1743698824/443
444: デフォルトの名無しさん (ワッチョイ 9fa9-xq8W) [sage] 2025/07/11(金) 16:18:29.37 ID:vGvii7eb0 (昔の?)JavaScriptのArrayは、整数添字だけど内部的にはkey-value構造じゃなかったっけ? Pythonについては、dictは(今は要素の挿入順序を記憶するけれども)概念的には要素の順番を観念しないことになっているのに、「next」でイテレーションするというのはよく考えると微妙にひっかかかりを感じなくもない。もっとも、かといって代わる語も思いつかないけどね。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/444
445: デフォルトの名無しさん (アウアウウー Sa9b-zcFv) [] 2025/07/12(土) 11:15:02.27 ID:Q8STCu4ga 要素の順番は大小が定義できてるかどうかだけで N番目の要素と言うからにはさらに別に 飛び番があるかどうか等の条件が増える http://mevius.5ch.net/test/read.cgi/tech/1743698824/445
446: デフォルトの名無しさん (ワッチョイ bf01-6GxP) [sage] 2025/07/12(土) 15:14:19.33 ID:RGUHmfGg0 >>444 内部的にどういう構造を使うかはJavaScriptエンジンの最適化の範疇 飛び番が多いスパースなArrayの場合とそうでない場合で実装を変えるのも自由 >>445 添字Nでのアクセス == N番目の要素へのアクセスとは限らないというだけでしょ 順番は定義できてるのにN番目の要素は他の条件がなければ定義できないというのはどう考えてもおかしい http://mevius.5ch.net/test/read.cgi/tech/1743698824/446
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 527 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s