[過去ログ]
Pythonのお勉強 Part68 (1002レス)
Pythonのお勉強 Part68 http://mevius.5ch.net/test/read.cgi/tech/1663235546/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
577: デフォルトの名無しさん (ブーイモ MM33-cv0M) [] 2022/11/01(火) 17:42:07.83 ID:59UjWoGEM 命名とかAPI設計がイケてない match、search、fullmatch・・・ たまにしか使わない人は諦めて毎回リファレンス参照するしかない http://mevius.5ch.net/test/read.cgi/tech/1663235546/577
578: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/01(火) 17:59:02.79 ID:vww+azZz0 list.append()が破壊的だったかすら忘れてぐぐる http://mevius.5ch.net/test/read.cgi/tech/1663235546/578
579: デフォルトの名無しさん (ワッチョイ 8b89-g96c) [sage] 2022/11/01(火) 22:54:57.42 ID:w1dGDiRI0 覚えられないのではない 覚えないという選択をしているのだ 覚えるために何か工夫したのか? http://mevius.5ch.net/test/read.cgi/tech/1663235546/579
580: デフォルトの名無しさん (ワッチョイ 9109-iO6U) [] 2022/11/01(火) 22:55:36.13 ID:EqpfaKBX0 イテレータ判定されるのにfor できないんですが イテレータとはforができるものではないんですか X = type("") if hasattr(X, '__iter__') : for x in X : pass http://mevius.5ch.net/test/read.cgi/tech/1663235546/580
581: デフォルトの名無しさん (ワッチョイ fbe8-Sd0E) [sage] 2022/11/01(火) 23:34:09.39 ID:yhai460Y0 X(= str)じゃなくXのインスタンスならそう http://mevius.5ch.net/test/read.cgi/tech/1663235546/581
582: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/01(火) 23:43:36.24 ID:vww+azZz0 覚えないといけない時点でおかしい 理解すれば覚えなくていいのが正解 list.append()は破壊的で、str.replace()は非破壊であることに、 合理的な説明は無い その方が便利なことが多そうだからとか、メモリの都合とか、 一旦そう決めちゃったからとか、そんな理由に過ぎない http://mevius.5ch.net/test/read.cgi/tech/1663235546/582
583: デフォルトの名無しさん (ブーイモ MMdd-YnjT) [sage] 2022/11/02(水) 00:26:44.23 ID:WNjxQYpUM list.appendは配列の終わりにつけるだけ str.replaceは配列の途中に差し込む可能性があるからでは? メモリ操作のコストが違うじゃん http://mevius.5ch.net/test/read.cgi/tech/1663235546/583
584: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 00:47:23.04 ID:ul/vZuFO0 配列が格納してある後ろに空きスペースがたくさん確保してあるならそうだろうけど で、コストが実際に違ったとしてもそんなことは知らんがなでしかない http://mevius.5ch.net/test/read.cgi/tech/1663235546/584
585: デフォルトの名無しさん (ワッチョイ 8bbb-T9F3) [sage] 2022/11/02(水) 00:58:46.26 ID:I1Z+o8fX0 みんな知ってることだけど、listはmutableでstrはimmutableだからだよ。 これでもう各関数が破壊的かどうかいちいち覚える必要はなくなったね! http://mevius.5ch.net/test/read.cgi/tech/1663235546/585
586: デフォルトの名無しさん (ブーイモ MMdd-YnjT) [sage] 2022/11/02(水) 01:00:03.55 ID:WNjxQYpUM listはある程度後ろに確保してるしコストが実際に違ったらそれは明確に合理的な理由でしょ http://mevius.5ch.net/test/read.cgi/tech/1663235546/586
587: デフォルトの名無しさん (ワッチョイ d9f0-5cND) [sage] 2022/11/02(水) 01:17:00.86 ID:jyU6y3CY0 >>585 これ まあそういうものとして覚えるしかないわけだけど http://mevius.5ch.net/test/read.cgi/tech/1663235546/587
588: デフォルトの名無しさん (テテンテンテン MMeb-kKgp) [sage] 2022/11/02(水) 07:59:09.20 ID:cbFKoHcVM べつに目的の物が作れればどうでもいいんじゃないの? ミッションクリティカルなモノをコレで作ったりするのかな? http://mevius.5ch.net/test/read.cgi/tech/1663235546/588
589: デフォルトの名無しさん (ワッチョイ 9914-lAaw) [sage] 2022/11/02(水) 11:06:12.06 ID:FQ1wBQnh0 listに後ろとか関係なくない? http://mevius.5ch.net/test/read.cgi/tech/1663235546/589
590: デフォルトの名無しさん (アウアウウー Sa9d-mHKc) [sage] 2022/11/02(水) 11:21:15.39 ID:1xZXeW2Ya linkedなリストは関係ないよな 連続したメモリに入ってる配列的なやつはアレだけど http://mevius.5ch.net/test/read.cgi/tech/1663235546/590
591: デフォルトの名無しさん (ワッチョイ 9914-lAaw) [sage] 2022/11/02(水) 11:39:42.36 ID:FQ1wBQnh0 >>590 str との違いも結局これだし http://mevius.5ch.net/test/read.cgi/tech/1663235546/591
592: デフォルトの名無しさん (ブーイモ MM8d-YnjT) [sage] 2022/11/02(水) 14:55:39.24 ID:VFt43YlcM pythonのリストはポインタの配列でしょ? http://mevius.5ch.net/test/read.cgi/tech/1663235546/592
593: デフォルトの名無しさん (アウアウウー Sa9d-mHKc) [sage] 2022/11/02(水) 18:15:12.19 ID:1xZXeW2Ya 違います http://mevius.5ch.net/test/read.cgi/tech/1663235546/593
594: デフォルトの名無しさん (ワッチョイ d9f0-5cND) [sage] 2022/11/02(水) 18:27:31.11 ID:jyU6y3CY0 PyObject*の配列です PyObject **ob_item; // PyObject*の配列 Py_ssize_t allocated; // アロケートされてる個数 http://mevius.5ch.net/test/read.cgi/tech/1663235546/594
595: デフォルトの名無しさん (ワッチョイ d9f0-5cND) [sage] 2022/11/02(水) 18:28:55.28 ID:jyU6y3CY0 cpythonなソースは読みやすい http://mevius.5ch.net/test/read.cgi/tech/1663235546/595
596: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 18:42:15.13 ID:ul/vZuFO0 0から255までの数字が入った要素数1000の配列があって、 Cだとunsigned char list[1000]; みたいに宣言してlist[i]で参照するとアドレス計算で値を取ってくるけど、 pythonはどうやってるの? http://mevius.5ch.net/test/read.cgi/tech/1663235546/596
597: デフォルトの名無しさん (ブーイモ MM8d-YnjT) [sage] 2022/11/02(水) 18:43:56.47 ID:4MCwg8YuM ちょっと調べた限りやっぱりPythonのリストはポインタの配列だと思うんだが違うっていうなら何か教えて insertの遅さとかで連結リストではないとは思うけど http://mevius.5ch.net/test/read.cgi/tech/1663235546/597
598: デフォルトの名無しさん (ワッチョイ 8b46-g96c) [sage] 2022/11/02(水) 18:51:59.96 ID:wyluLqIy0 >>594が正しい https://github.com/python/cpython/blob/main/Include/cpython/listobject.h http://mevius.5ch.net/test/read.cgi/tech/1663235546/598
599: デフォルトの名無しさん (ワッチョイ d9f0-5cND) [sage] 2022/11/02(水) 18:55:42.08 ID:jyU6y3CY0 cpythonのソースはマジで読みやすい Rubyとかもうぐちゃぐちゃしてて読めねえもん http://mevius.5ch.net/test/read.cgi/tech/1663235546/599
600: デフォルトの名無しさん (ワッチョイ d9f0-5cND) [sage] 2022/11/02(水) 19:05:34.74 ID:jyU6y3CY0 実際の配列のサイズはPyObject_VAR_HEADマクロのob_sizeに入ってる http://mevius.5ch.net/test/read.cgi/tech/1663235546/600
601: デフォルトの名無しさん (アウアウウー Sa9d-mHKc) [sage] 2022/11/02(水) 19:12:23.01 ID:1xZXeW2Ya >>597 別になんでもいいんです http://mevius.5ch.net/test/read.cgi/tech/1663235546/601
602: デフォルトの名無しさん (アウアウウー Sa9d-5cND) [sage] 2022/11/02(水) 19:14:41.69 ID:5K2+hbiBa 答え書かれてるのに全く分かってなくて草 http://mevius.5ch.net/test/read.cgi/tech/1663235546/602
603: デフォルトの名無しさん (アウアウウー Sa9d-mHKc) [sage] 2022/11/02(水) 19:30:34.65 ID:1xZXeW2Ya 大学行くと実装と仕様の区別がつくようになるかも? http://mevius.5ch.net/test/read.cgi/tech/1663235546/603
604: デフォルトの名無しさん (ワッチョイ f102-+Dbv) [sage] 2022/11/02(水) 19:31:01.29 ID:l50Y39h10 >>594 つまりポインタの配列 http://mevius.5ch.net/test/read.cgi/tech/1663235546/604
605: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 19:31:44.66 ID:ul/vZuFO0 listにappendすると、ポインタの配列の末尾にポインタが追加される 配列のサイズが変わるので、サイズを増やした配列を作ってコピーしないとできない 筈なのに、idを調べると変わらない **ob_itemに入ってる値は変わるけど、**ob_item自体のアドレスは変わらない ということ? http://mevius.5ch.net/test/read.cgi/tech/1663235546/605
606: デフォルトの名無しさん (ワッチョイ f102-+Dbv) [sage] 2022/11/02(水) 19:33:58.87 ID:l50Y39h10 組み込みだから作り直した配列にidがコピーされてたり http://mevius.5ch.net/test/read.cgi/tech/1663235546/606
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 396 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s