[過去ログ]
Pythonのお勉強 Part68 (1002レス)
Pythonのお勉強 Part68 http://mevius.5ch.net/test/read.cgi/tech/1663235546/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
606: デフォルトの名無しさん (ワッチョイ f102-+Dbv) [sage] 2022/11/02(水) 19:33:58.87 ID:l50Y39h10 組み込みだから作り直した配列にidがコピーされてたり http://mevius.5ch.net/test/read.cgi/tech/1663235546/606
607: デフォルトの名無しさん (ワッチョイ fbe6-Sd0E) [sage] 2022/11/02(水) 19:36:39.11 ID:oCOyjRuB0 VM上は指すオブジェクト変わってないのにid変わったらあかんでしょ http://mevius.5ch.net/test/read.cgi/tech/1663235546/607
608: デフォルトの名無しさん (ワッチョイ 1379-87TA) [sage] 2022/11/02(水) 19:40:00.28 ID:rAnbDRgM0 適当にリンクリストあたりかと思ってた http://mevius.5ch.net/test/read.cgi/tech/1663235546/608
609: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 19:40:29.11 ID:ul/vZuFO0 appendしても同じオブジェクトという時点で違和感があるんだよな 明らかに別物やん 仮にappendが非破壊で list = list.append() とした時にidが変わる方が納得できる http://mevius.5ch.net/test/read.cgi/tech/1663235546/609
610: デフォルトの名無しさん (アウアウウー Sa9d-5cND) [sage] 2022/11/02(水) 19:40:29.75 ID:5K2+hbiBa >>605 逆だよ ob_item自体は大きさが変わる時にreallocでアドレスが変わるけど 中身の方はポインタをコピーするだけだから変わらない http://mevius.5ch.net/test/read.cgi/tech/1663235546/610
611: デフォルトの名無しさん (アウアウウー Sa9d-mHKc) [sage] 2022/11/02(水) 19:42:07.37 ID:1xZXeW2Ya >>597 違うって理解できた? http://mevius.5ch.net/test/read.cgi/tech/1663235546/611
612: デフォルトの名無しさん (アウアウウー Sa9d-5cND) [sage] 2022/11/02(水) 19:51:27.03 ID:5K2+hbiBa >>609 そもそもが全部Cで実装されてるんだからそういうメモリモデルなんだ、という理解で良いと思うよ http://mevius.5ch.net/test/read.cgi/tech/1663235546/612
613: デフォルトの名無しさん (ブーイモ MM8d-YnjT) [sage] 2022/11/02(水) 19:53:06.08 ID:4MCwg8YuM >>611 あなたは何もわかってないのは理解できました http://mevius.5ch.net/test/read.cgi/tech/1663235546/613
614: デフォルトの名無しさん (アウアウウー Sa9d-mHKc) [sage] 2022/11/02(水) 19:57:27.92 ID:1xZXeW2Ya >>613 わかんない? 違うよ どんどん主張が後退するんじゃねえかなという期待の下、繰り返すけど http://mevius.5ch.net/test/read.cgi/tech/1663235546/614
615: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/02(水) 21:11:39.58 ID:CsBXjP5R0 リンクリストはリスト的なものを作るときに第一の選択肢としてはこないと思うよ。 任意の要素へのアクセスがO(n)かかるから。 必ず頭から順番に読んで、途中に挿入したいことが多いとかいう状況だったら使うけど、こういう特性を、癖があると思う人の方が多いんじゃないかな。 そういうコンピュータサイエンスの初歩みたいなところの実装が気になるなら、Javaを勉強してみるといいかもね。 リストも辞書もセットも、複数の実装方法が標準で用意されてて明示的にどれを使うか決めなくちゃいけないから。 そう考えると初心者にJava教えてた頃ってコレクションで付いていけなくなり勉強を諦めた人多いんだろうか。 http://mevius.5ch.net/test/read.cgi/tech/1663235546/615
616: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/02(水) 21:16:31.46 ID:CsBXjP5R0 >>609 夕飯を食べる前の自分と食べた後の自分は別のインスタンスか?って問いにyesと答えられるならばイミュータブルなものにしかidを付けてはいけないと考えているのだろう(そういう言語もある、Haskellとか) そうでなければ、ミュータブルなインスタンスはミュータブルなんだからidが同じでも中身は変化すると考えるべきだろう http://mevius.5ch.net/test/read.cgi/tech/1663235546/616
617: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 21:22:30.41 ID:jJasVlr90 idってCでのアドレスそのものなんでしょ 実装の都合でアドレスが変わったらidも変わるというだけの話で、 何らかのポリシーみたいなものは背景に無いような http://mevius.5ch.net/test/read.cgi/tech/1663235546/617
618: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/02(水) 21:30:55.81 ID:CsBXjP5R0 >>617 CPythonではな。(すみません知りませんでした) しかしGCがかかりまくるVM上で動くPythonの実装もあるから、CPythonではそうっていう認識に留めておいたほうがいいんじゃないかなあ。 http://mevius.5ch.net/test/read.cgi/tech/1663235546/618
619: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 21:42:19.23 ID:2orW5ow60 idが変わる/変わらないとミュータブル/イミュータブルは一対一対応? http://mevius.5ch.net/test/read.cgi/tech/1663235546/619
620: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/02(水) 22:06:28.39 ID:CsBXjP5R0 >>619 まず、イミュータブルというのをどう定義するかによると思うけど (タプルはイミュータブルだが、タプルの中にリストを入れた場合、リストほミュータブルで、リストに変更を加えてもタプルのインスタンスが新しくできるわけではない) そういうややこしい例を除いても、 イミュータブルならば、値を変えたらidが変わる 値を変えてもidが変わらないならミュータブル しか言えないんじゃない? http://mevius.5ch.net/test/read.cgi/tech/1663235546/620
621: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 22:13:30.31 ID:F9kh54e50 定義や実装で何がミュータブルかがころころ変わってはいけなくて、 pythonではどんな環境でも同じものがミュータブルであるべき で、idが変わる/変わらないが環境依存ならば、idとミュータブルは関係ないことになる http://mevius.5ch.net/test/read.cgi/tech/1663235546/621
622: デフォルトの名無しさん (ワッチョイ d9f0-5cND) [sage] 2022/11/02(水) 22:18:06.81 ID:jyU6y3CY0 わけわからん http://mevius.5ch.net/test/read.cgi/tech/1663235546/622
623: デフォルトの名無しさん (ワントンキン MMd3-+Dbv) [sage] 2022/11/02(水) 22:20:05.72 ID:yCeW62XuM pythonの辞書ってc++のmapと違って内部でソートされてないからアクセス遅いっぽいんだよね keysで取り出しても登録した順だし 文字列でも数値でもキーにできるからそういうものなのか http://mevius.5ch.net/test/read.cgi/tech/1663235546/623
624: デフォルトの名無しさん (ワッチョイ 1379-87TA) [sage] 2022/11/02(水) 22:50:50.14 ID:rAnbDRgM0 >>615 最後尾への追加削除がO(1)だったからリンクリストだと思ったけど リアロケートの実装でどうにかそれっぽくなるんだねぇ 全く気にしてなかったけど、勉強になったわ http://mevius.5ch.net/test/read.cgi/tech/1663235546/624
625: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/02(水) 22:58:46.37 ID:P6hHm0TD0 ループで一つずつappendしていくようなコードは、 溜めておいて一気にどーんで高速化できそう http://mevius.5ch.net/test/read.cgi/tech/1663235546/625
626: デフォルトの名無しさん (ワッチョイ 694f-hZr9) [sage] 2022/11/02(水) 23:13:03.99 ID:Vdzb0Lkj0 Elixir なんて片方向リストだから、先頭の要素の追加・削除のみ速い。 末尾では全要素をたどる Ruby は両方向リストだったかな? http://mevius.5ch.net/test/read.cgi/tech/1663235546/626
627: デフォルトの名無しさん (ワッチョイ 8b10-WE8j) [] 2022/11/02(水) 23:41:13.42 ID:d827SSNz0 >>623 pythonの辞書は順番を保持することが仕様で規定されてる http://mevius.5ch.net/test/read.cgi/tech/1663235546/627
628: デフォルトの名無しさん (ワッチョイ 8b89-g96c) [sage] 2022/11/03(木) 00:20:58.38 ID:gcHdWorI0 3年くらい前からだっけ? キーバリューやから順番気にしたことなかったわ http://mevius.5ch.net/test/read.cgi/tech/1663235546/628
629: デフォルトの名無しさん (ワッチョイ d347-gj4s) [sage] 2022/11/03(木) 00:37:59.14 ID:vWeFXHff0 順番が同じだとセキュリティの問題があるから意図的にランダムにしてなかったっけ http://mevius.5ch.net/test/read.cgi/tech/1663235546/629
630: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/03(木) 00:45:24.21 ID:9oLRzF140 >>624 C++のvectorとか、JavaのArrayListの典型的な実装だと、リアロケートが発生するときに倍ぐらいの領域を予め確保しておく、ってのが普通って読んだな コードレベルで読んだ訳じゃないから確たるエビデンスがあるわけじゃないけど。 http://mevius.5ch.net/test/read.cgi/tech/1663235546/630
631: デフォルトの名無しさん (ワッチョイ 7997-uk66) [] 2022/11/03(木) 00:49:20.51 ID:9oLRzF140 辞書は3.5だかそのぐらいで入れた順になるように仕様が決まったよね それまではバラバラだったはず あとソート済みが欲しいならsortedcollectionsがあるんじゃないの Pythonでパフォーマンス気にするようなコード書いたことないから速くなるかは知らないが パフォーマンス気になるならもう普通にpybind11よ http://mevius.5ch.net/test/read.cgi/tech/1663235546/631
632: デフォルトの名無しさん (ワッチョイ 8b46-g96c) [sage] 2022/11/03(木) 01:13:09.17 ID:t2qUW0n10 動的配列は償却計算量の典型例だぞ http://mevius.5ch.net/test/read.cgi/tech/1663235546/632
633: デフォルトの名無しさん (ワッチョイ 13ad-ww+g) [sage] 2022/11/03(木) 09:06:43.51 ID:b87ZSO0X0 半島人w http://mevius.5ch.net/test/read.cgi/tech/1663235546/633
634: デフォルトの名無しさん (ワッチョイ 9397-pRvw) [sage] 2022/11/03(木) 13:19:41.92 ID:M31+WIXk0 ネトウヨはコードすら書けない http://mevius.5ch.net/test/read.cgi/tech/1663235546/634
635: デフォルトの名無しさん (ワッチョイ 692c-3A4z) [] 2022/11/03(木) 17:39:13.22 ID:JzcJhjtx0 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秒以下で終わると思うんですが pythonではどうやって高速化できますか? http://mevius.5ch.net/test/read.cgi/tech/1663235546/635
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 367 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s