!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その57
http://mevius.5ch.net/test/read.cgi/tech/1653225908/
〇前スレ〇
Pythonのお勉強 Part67
https://mevius.5ch.net/test/read.cgi/tech/1653540315/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
Pythonのお勉強 Part68
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ ab79-ia8c)
2022/09/15(木) 18:52:26.67ID:VqLViKoX0551デフォルトの名無しさん
2022/10/30(日) 15:26:12.39ID:VC4EQr6u デザインパターンのSingletonパターンって必要ですかね・・
結局なんらかのカウンターで一元管理することになりませんか・・
結局なんらかのカウンターで一元管理することになりませんか・・
552デフォルトの名無しさん (ワッチョイ 3909-DL5s)
2022/10/30(日) 15:49:28.81ID:Hd1qfqu50 バイトコードってヒープ領域に格納されてvmに渡されるのですか?
553デフォルトの名無しさん (ワッチョイ 1361-4kdC)
2022/10/30(日) 16:53:19.41ID:pkba5bNo0554デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/10/30(日) 16:56:31.04ID:40a1nlTva >>551
使わないほうが良いものである
使わないほうが良いものである
555デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/10/30(日) 17:24:05.37ID:yaCBWxQaa556デフォルトの名無しさん (ワッチョイ 3909-DL5s)
2022/10/30(日) 17:53:38.94ID:Hd1qfqu50 >>555
ありがとうございます!
ありがとうございます!
557デフォルトの名無しさん (ワントンキン MMd3-1hc3)
2022/10/30(日) 18:13:35.82ID:CDidbViTM558デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/10/30(日) 19:10:27.11ID:XddGgynb0559デフォルトの名無しさん (ワッチョイ 13ad-ww+g)
2022/10/30(日) 23:05:03.89ID:q24pCrd50 ここは朝鮮人のスレ
チョッパリはくるな!
チョッパリはくるな!
560デフォルトの名無しさん (ワッチョイ 1363-HLP5)
2022/10/30(日) 23:53:08.68ID:vrlOFY0H0 発作か
561デフォルトの名無しさん (ブーイモ MM33-cv0M)
2022/10/31(月) 14:05:35.97ID:j6J+ogvNM >>551
なんないよ
なんないよ
562デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 02:33:37.39ID:mmiO/WJW0 不特定の文字・数字・記号、またそれらの組み合わせを意味する表記で記入する方法を教えて下さい
[123456aaaあ井う~〜」
↑みたいなのがあったとして、数字や文字は毎回変わる、場合によっては桁数が変わったりもする
テキストファイル内で上記のパターンの文字列を見つけて、その前の位置で改行を入れるみたいなことをしたいです
イメージですが下記みたいに表して a に代入しておいて
[123456aaa文字] → [%%% ¥¥¥¥¥¥¥¥] or [%(桁数)¥(桁数)]
replace(a,”/n”+a) でテキストファイルを書き換えるようなことって可能ですか?
[123456aaaあ井う~〜」
↑みたいなのがあったとして、数字や文字は毎回変わる、場合によっては桁数が変わったりもする
テキストファイル内で上記のパターンの文字列を見つけて、その前の位置で改行を入れるみたいなことをしたいです
イメージですが下記みたいに表して a に代入しておいて
[123456aaa文字] → [%%% ¥¥¥¥¥¥¥¥] or [%(桁数)¥(桁数)]
replace(a,”/n”+a) でテキストファイルを書き換えるようなことって可能ですか?
563デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 02:42:25.93ID:mmiO/WJW0 誤字 /n → \n
564デフォルトの名無しさん (ブーイモ MMeb-cv0M)
2022/11/01(火) 03:36:18.46ID:I1aopbaSM なるほどわからん
565デフォルトの名無しさん (ワッチョイ 8b10-WE8j)
2022/11/01(火) 08:16:26.34ID:xJk+jZok0 これは煽りではなく真面目なアドバイスなんだが、プログラミングより国語を勉強した方がいい
その言語能力だと難しいと思う
その言語能力だと難しいと思う
566デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 08:30:28.54ID:mmiO/WJW0 222tq2tq2tq269ああ%64agaoiwahaio.59gagagahai3a.t69a 5>22gahaiiha
この文字列を
222tq2tq2tq269
ああ%64agaoiwaha
io.59gagagahai3a.t69
a 5>22gahaiiha
この出力結果にするにはどうすれば良いですか? なら大丈夫ですかね?
この場合だと「文字列2つ + 記号1つ + 数字2つ」のパターンを見つけて改行したい
この文字列を
222tq2tq2tq269
ああ%64agaoiwaha
io.59gagagahai3a.t69
a 5>22gahaiiha
この出力結果にするにはどうすれば良いですか? なら大丈夫ですかね?
この場合だと「文字列2つ + 記号1つ + 数字2つ」のパターンを見つけて改行したい
567デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/01(火) 08:48:28.70ID:p4TXbqbPa じゃあそのパターンで改行すれば…
正規表現でいいんじゃないかな
正規表現でいいんじゃないかな
568デフォルトの名無しさん (ワッチョイ 694f-K3KU)
2022/11/01(火) 08:51:40.09ID:CMvcSOEo0 このスレよりも、正規表現のスレで聞けば?
569デフォルトの名無しさん (テテンテンテン MMeb-kKgp)
2022/11/01(火) 09:10:51.89ID:tDs0tp7pM オホダナー
そうだよオホダヨ~
そうだよオホダヨ~
570デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 09:37:37.84ID:mmiO/WJW0571デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 09:48:17.04ID:mmiO/WJW0 できました。ありがとうございました
572デフォルトの名無しさん (アウアウウー Sa9d-+Dbv)
2022/11/01(火) 10:42:07.10ID:HBYRkZVUa573デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 11:08:19.56ID:mmiO/WJW0 表記自体は合っていたのですが、re.match()でやってたせいで出力されなかったみたいで、re.search()に変えるだけで解決しました
574デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/01(火) 12:13:10.09ID:vww+azZz0 matchは使わずに
search(r'^なにか')
でいいよな
fullmatchは^と$で
^や$を使うなというのであれば、$だけ使うパターンも整備されていないと不完全
search(r'^なにか')
でいいよな
fullmatchは^と$で
^や$を使うなというのであれば、$だけ使うパターンも整備されていないと不完全
575デフォルトの名無しさん (ワンミングク MMd3-g96c)
2022/11/01(火) 16:21:24.69ID:GYf/ELerM 俺は君にマッチしたい※
576デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/01(火) 16:40:02.94ID:1fqXVNhi0 正規表現に関してはrubyやperlみたいに演算子にしてしまうのがベストだと思う
searchだとかmatchだとかregexpだとかmatch_allだとか覚えられんて
searchだとかmatchだとかregexpだとかmatch_allだとか覚えられんて
577デフォルトの名無しさん (ブーイモ MM33-cv0M)
2022/11/01(火) 17:42:07.83ID:59UjWoGEM 命名とかAPI設計がイケてない
match、search、fullmatch・・・
たまにしか使わない人は諦めて毎回リファレンス参照するしかない
match、search、fullmatch・・・
たまにしか使わない人は諦めて毎回リファレンス参照するしかない
578デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/01(火) 17:59:02.79ID:vww+azZz0 list.append()が破壊的だったかすら忘れてぐぐる
579デフォルトの名無しさん (ワッチョイ 8b89-g96c)
2022/11/01(火) 22:54:57.42ID:w1dGDiRI0 覚えられないのではない
覚えないという選択をしているのだ
覚えるために何か工夫したのか?
覚えないという選択をしているのだ
覚えるために何か工夫したのか?
580デフォルトの名無しさん (ワッチョイ 9109-iO6U)
2022/11/01(火) 22:55:36.13ID:EqpfaKBX0 イテレータ判定されるのにfor できないんですが
イテレータとはforができるものではないんですか
X = type("")
if hasattr(X, '__iter__') :
for x in X : pass
イテレータとはforができるものではないんですか
X = type("")
if hasattr(X, '__iter__') :
for x in X : pass
581デフォルトの名無しさん (ワッチョイ fbe8-Sd0E)
2022/11/01(火) 23:34:09.39ID:yhai460Y0 X(= str)じゃなくXのインスタンスならそう
582デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/01(火) 23:43:36.24ID:vww+azZz0 覚えないといけない時点でおかしい
理解すれば覚えなくていいのが正解
list.append()は破壊的で、str.replace()は非破壊であることに、
合理的な説明は無い
その方が便利なことが多そうだからとか、メモリの都合とか、
一旦そう決めちゃったからとか、そんな理由に過ぎない
理解すれば覚えなくていいのが正解
list.append()は破壊的で、str.replace()は非破壊であることに、
合理的な説明は無い
その方が便利なことが多そうだからとか、メモリの都合とか、
一旦そう決めちゃったからとか、そんな理由に過ぎない
583デフォルトの名無しさん (ブーイモ MMdd-YnjT)
2022/11/02(水) 00:26:44.23ID:WNjxQYpUM list.appendは配列の終わりにつけるだけ
str.replaceは配列の途中に差し込む可能性があるからでは?
メモリ操作のコストが違うじゃん
str.replaceは配列の途中に差し込む可能性があるからでは?
メモリ操作のコストが違うじゃん
584デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 00:47:23.04ID:ul/vZuFO0 配列が格納してある後ろに空きスペースがたくさん確保してあるならそうだろうけど
で、コストが実際に違ったとしてもそんなことは知らんがなでしかない
で、コストが実際に違ったとしてもそんなことは知らんがなでしかない
585デフォルトの名無しさん (ワッチョイ 8bbb-T9F3)
2022/11/02(水) 00:58:46.26ID:I1Z+o8fX0 みんな知ってることだけど、listはmutableでstrはimmutableだからだよ。
これでもう各関数が破壊的かどうかいちいち覚える必要はなくなったね!
これでもう各関数が破壊的かどうかいちいち覚える必要はなくなったね!
586デフォルトの名無しさん (ブーイモ MMdd-YnjT)
2022/11/02(水) 01:00:03.55ID:WNjxQYpUM listはある程度後ろに確保してるしコストが実際に違ったらそれは明確に合理的な理由でしょ
587デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 01:17:00.86ID:jyU6y3CY0588デフォルトの名無しさん (テテンテンテン MMeb-kKgp)
2022/11/02(水) 07:59:09.20ID:cbFKoHcVM べつに目的の物が作れればどうでもいいんじゃないの?
ミッションクリティカルなモノをコレで作ったりするのかな?
ミッションクリティカルなモノをコレで作ったりするのかな?
589デフォルトの名無しさん (ワッチョイ 9914-lAaw)
2022/11/02(水) 11:06:12.06ID:FQ1wBQnh0 listに後ろとか関係なくない?
590デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 11:21:15.39ID:1xZXeW2Ya linkedなリストは関係ないよな
連続したメモリに入ってる配列的なやつはアレだけど
連続したメモリに入ってる配列的なやつはアレだけど
591デフォルトの名無しさん (ワッチョイ 9914-lAaw)
2022/11/02(水) 11:39:42.36ID:FQ1wBQnh0 >>590
str との違いも結局これだし
str との違いも結局これだし
592デフォルトの名無しさん (ブーイモ MM8d-YnjT)
2022/11/02(水) 14:55:39.24ID:VFt43YlcM pythonのリストはポインタの配列でしょ?
593デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 18:15:12.19ID:1xZXeW2Ya 違います
594デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 18:27:31.11ID:jyU6y3CY0 PyObject*の配列です
PyObject **ob_item; // PyObject*の配列
Py_ssize_t allocated; // アロケートされてる個数
PyObject **ob_item; // PyObject*の配列
Py_ssize_t allocated; // アロケートされてる個数
595デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 18:28:55.28ID:jyU6y3CY0 cpythonなソースは読みやすい
596デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 18:42:15.13ID:ul/vZuFO0 0から255までの数字が入った要素数1000の配列があって、
Cだとunsigned char list[1000];
みたいに宣言してlist[i]で参照するとアドレス計算で値を取ってくるけど、
pythonはどうやってるの?
Cだとunsigned char list[1000];
みたいに宣言してlist[i]で参照するとアドレス計算で値を取ってくるけど、
pythonはどうやってるの?
597デフォルトの名無しさん (ブーイモ MM8d-YnjT)
2022/11/02(水) 18:43:56.47ID:4MCwg8YuM ちょっと調べた限りやっぱりPythonのリストはポインタの配列だと思うんだが違うっていうなら何か教えて
insertの遅さとかで連結リストではないとは思うけど
insertの遅さとかで連結リストではないとは思うけど
598デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/02(水) 18:51:59.96ID:wyluLqIy0599デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 18:55:42.08ID:jyU6y3CY0 cpythonのソースはマジで読みやすい
Rubyとかもうぐちゃぐちゃしてて読めねえもん
Rubyとかもうぐちゃぐちゃしてて読めねえもん
600デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 19:05:34.74ID:jyU6y3CY0 実際の配列のサイズはPyObject_VAR_HEADマクロのob_sizeに入ってる
601デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:12:23.01ID:1xZXeW2Ya >>597
別になんでもいいんです
別になんでもいいんです
602デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/11/02(水) 19:14:41.69ID:5K2+hbiBa 答え書かれてるのに全く分かってなくて草
603デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:30:34.65ID:1xZXeW2Ya 大学行くと実装と仕様の区別がつくようになるかも?
604デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/11/02(水) 19:31:01.29ID:l50Y39h10 >>594
つまりポインタの配列
つまりポインタの配列
605デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 19:31:44.66ID:ul/vZuFO0 listにappendすると、ポインタの配列の末尾にポインタが追加される
配列のサイズが変わるので、サイズを増やした配列を作ってコピーしないとできない
筈なのに、idを調べると変わらない
**ob_itemに入ってる値は変わるけど、**ob_item自体のアドレスは変わらない
ということ?
配列のサイズが変わるので、サイズを増やした配列を作ってコピーしないとできない
筈なのに、idを調べると変わらない
**ob_itemに入ってる値は変わるけど、**ob_item自体のアドレスは変わらない
ということ?
606デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/11/02(水) 19:33:58.87ID:l50Y39h10 組み込みだから作り直した配列にidがコピーされてたり
607デフォルトの名無しさん (ワッチョイ fbe6-Sd0E)
2022/11/02(水) 19:36:39.11ID:oCOyjRuB0 VM上は指すオブジェクト変わってないのにid変わったらあかんでしょ
608デフォルトの名無しさん (ワッチョイ 1379-87TA)
2022/11/02(水) 19:40:00.28ID:rAnbDRgM0 適当にリンクリストあたりかと思ってた
609デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 19:40:29.11ID:ul/vZuFO0 appendしても同じオブジェクトという時点で違和感があるんだよな
明らかに別物やん
仮にappendが非破壊で
list = list.append()
とした時にidが変わる方が納得できる
明らかに別物やん
仮にappendが非破壊で
list = list.append()
とした時にidが変わる方が納得できる
610デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/11/02(水) 19:40:29.75ID:5K2+hbiBa611デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:42:07.37ID:1xZXeW2Ya >>597
違うって理解できた?
違うって理解できた?
612デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/11/02(水) 19:51:27.03ID:5K2+hbiBa >>609
そもそもが全部Cで実装されてるんだからそういうメモリモデルなんだ、という理解で良いと思うよ
そもそもが全部Cで実装されてるんだからそういうメモリモデルなんだ、という理解で良いと思うよ
613デフォルトの名無しさん (ブーイモ MM8d-YnjT)
2022/11/02(水) 19:53:06.08ID:4MCwg8YuM >>611
あなたは何もわかってないのは理解できました
あなたは何もわかってないのは理解できました
614デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:57:27.92ID:1xZXeW2Ya615デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 21:11:39.58ID:CsBXjP5R0 リンクリストはリスト的なものを作るときに第一の選択肢としてはこないと思うよ。
任意の要素へのアクセスがO(n)かかるから。
必ず頭から順番に読んで、途中に挿入したいことが多いとかいう状況だったら使うけど、こういう特性を、癖があると思う人の方が多いんじゃないかな。
そういうコンピュータサイエンスの初歩みたいなところの実装が気になるなら、Javaを勉強してみるといいかもね。
リストも辞書もセットも、複数の実装方法が標準で用意されてて明示的にどれを使うか決めなくちゃいけないから。
そう考えると初心者にJava教えてた頃ってコレクションで付いていけなくなり勉強を諦めた人多いんだろうか。
任意の要素へのアクセスがO(n)かかるから。
必ず頭から順番に読んで、途中に挿入したいことが多いとかいう状況だったら使うけど、こういう特性を、癖があると思う人の方が多いんじゃないかな。
そういうコンピュータサイエンスの初歩みたいなところの実装が気になるなら、Javaを勉強してみるといいかもね。
リストも辞書もセットも、複数の実装方法が標準で用意されてて明示的にどれを使うか決めなくちゃいけないから。
そう考えると初心者にJava教えてた頃ってコレクションで付いていけなくなり勉強を諦めた人多いんだろうか。
616デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 21:16:31.46ID:CsBXjP5R0 >>609
夕飯を食べる前の自分と食べた後の自分は別のインスタンスか?って問いにyesと答えられるならばイミュータブルなものにしかidを付けてはいけないと考えているのだろう(そういう言語もある、Haskellとか)
そうでなければ、ミュータブルなインスタンスはミュータブルなんだからidが同じでも中身は変化すると考えるべきだろう
夕飯を食べる前の自分と食べた後の自分は別のインスタンスか?って問いにyesと答えられるならばイミュータブルなものにしかidを付けてはいけないと考えているのだろう(そういう言語もある、Haskellとか)
そうでなければ、ミュータブルなインスタンスはミュータブルなんだからidが同じでも中身は変化すると考えるべきだろう
617デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 21:22:30.41ID:jJasVlr90 idってCでのアドレスそのものなんでしょ
実装の都合でアドレスが変わったらidも変わるというだけの話で、
何らかのポリシーみたいなものは背景に無いような
実装の都合でアドレスが変わったらidも変わるというだけの話で、
何らかのポリシーみたいなものは背景に無いような
618デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 21:30:55.81ID:CsBXjP5R0 >>617
CPythonではな。(すみません知りませんでした)
しかしGCがかかりまくるVM上で動くPythonの実装もあるから、CPythonではそうっていう認識に留めておいたほうがいいんじゃないかなあ。
CPythonではな。(すみません知りませんでした)
しかしGCがかかりまくるVM上で動くPythonの実装もあるから、CPythonではそうっていう認識に留めておいたほうがいいんじゃないかなあ。
619デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 21:42:19.23ID:2orW5ow60 idが変わる/変わらないとミュータブル/イミュータブルは一対一対応?
620デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 22:06:28.39ID:CsBXjP5R0 >>619
まず、イミュータブルというのをどう定義するかによると思うけど
(タプルはイミュータブルだが、タプルの中にリストを入れた場合、リストほミュータブルで、リストに変更を加えてもタプルのインスタンスが新しくできるわけではない)
そういうややこしい例を除いても、
イミュータブルならば、値を変えたらidが変わる
値を変えてもidが変わらないならミュータブル
しか言えないんじゃない?
まず、イミュータブルというのをどう定義するかによると思うけど
(タプルはイミュータブルだが、タプルの中にリストを入れた場合、リストほミュータブルで、リストに変更を加えてもタプルのインスタンスが新しくできるわけではない)
そういうややこしい例を除いても、
イミュータブルならば、値を変えたらidが変わる
値を変えてもidが変わらないならミュータブル
しか言えないんじゃない?
621デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 22:13:30.31ID:F9kh54e50 定義や実装で何がミュータブルかがころころ変わってはいけなくて、
pythonではどんな環境でも同じものがミュータブルであるべき
で、idが変わる/変わらないが環境依存ならば、idとミュータブルは関係ないことになる
pythonではどんな環境でも同じものがミュータブルであるべき
で、idが変わる/変わらないが環境依存ならば、idとミュータブルは関係ないことになる
622デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 22:18:06.81ID:jyU6y3CY0 わけわからん
623デフォルトの名無しさん (ワントンキン MMd3-+Dbv)
2022/11/02(水) 22:20:05.72ID:yCeW62XuM pythonの辞書ってc++のmapと違って内部でソートされてないからアクセス遅いっぽいんだよね
keysで取り出しても登録した順だし
文字列でも数値でもキーにできるからそういうものなのか
keysで取り出しても登録した順だし
文字列でも数値でもキーにできるからそういうものなのか
624デフォルトの名無しさん (ワッチョイ 1379-87TA)
2022/11/02(水) 22:50:50.14ID:rAnbDRgM0625デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 22:58:46.37ID:P6hHm0TD0 ループで一つずつappendしていくようなコードは、
溜めておいて一気にどーんで高速化できそう
溜めておいて一気にどーんで高速化できそう
626デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/02(水) 23:13:03.99ID:Vdzb0Lkj0 Elixir なんて片方向リストだから、先頭の要素の追加・削除のみ速い。
末尾では全要素をたどる
Ruby は両方向リストだったかな?
末尾では全要素をたどる
Ruby は両方向リストだったかな?
627デフォルトの名無しさん (ワッチョイ 8b10-WE8j)
2022/11/02(水) 23:41:13.42ID:d827SSNz0 >>623
pythonの辞書は順番を保持することが仕様で規定されてる
pythonの辞書は順番を保持することが仕様で規定されてる
628デフォルトの名無しさん (ワッチョイ 8b89-g96c)
2022/11/03(木) 00:20:58.38ID:gcHdWorI0 3年くらい前からだっけ?
キーバリューやから順番気にしたことなかったわ
キーバリューやから順番気にしたことなかったわ
629デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/03(木) 00:37:59.14ID:vWeFXHff0 順番が同じだとセキュリティの問題があるから意図的にランダムにしてなかったっけ
630デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/03(木) 00:45:24.21ID:9oLRzF140 >>624
C++のvectorとか、JavaのArrayListの典型的な実装だと、リアロケートが発生するときに倍ぐらいの領域を予め確保しておく、ってのが普通って読んだな
コードレベルで読んだ訳じゃないから確たるエビデンスがあるわけじゃないけど。
C++のvectorとか、JavaのArrayListの典型的な実装だと、リアロケートが発生するときに倍ぐらいの領域を予め確保しておく、ってのが普通って読んだな
コードレベルで読んだ訳じゃないから確たるエビデンスがあるわけじゃないけど。
631デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/03(木) 00:49:20.51ID:9oLRzF140 辞書は3.5だかそのぐらいで入れた順になるように仕様が決まったよね
それまではバラバラだったはず
あとソート済みが欲しいならsortedcollectionsがあるんじゃないの
Pythonでパフォーマンス気にするようなコード書いたことないから速くなるかは知らないが
パフォーマンス気になるならもう普通にpybind11よ
それまではバラバラだったはず
あとソート済みが欲しいならsortedcollectionsがあるんじゃないの
Pythonでパフォーマンス気にするようなコード書いたことないから速くなるかは知らないが
パフォーマンス気になるならもう普通にpybind11よ
632デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/03(木) 01:13:09.17ID:t2qUW0n10 動的配列は償却計算量の典型例だぞ
633デフォルトの名無しさん (ワッチョイ 13ad-ww+g)
2022/11/03(木) 09:06:43.51ID:b87ZSO0X0 半島人w
634デフォルトの名無しさん (ワッチョイ 9397-pRvw)
2022/11/03(木) 13:19:41.92ID:M31+WIXk0 ネトウヨはコードすら書けない
635デフォルトの名無しさん (ワッチョイ 692c-3A4z)
2022/11/03(木) 17:39:13.22ID: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ではどうやって高速化できますか?
__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ではどうやって高速化できますか?
636デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/03(木) 17:50:53.27ID:6cc1wOit0 全角スペースでインデントするといい
637デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/03(木) 17:57:37.28ID:t2qUW0n10 エラトステネスの篩みたいなまともなアルゴリズムを使え
638デフォルトの名無しさん (ワッチョイ 1302-4ham)
2022/11/03(木) 18:05:57.27ID:pngFKRCN0 >>635
range(2, n//2 + 1) を range(2, int(n**0.5)+1)
にするだけで速くなると言うのは違うか。
n**0.5 は math を import するのが面倒だっただけ。。。
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:13.51ID:Tny9BBIXa しょーもないネタ振り
640デフォルトの名無しさん (JP 0He5-3A4z)
2022/11/03(木) 18:58:51.96ID:Ppt07bQPH641デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/03(木) 19:15:26.76ID:t2qUW0n10 それはそうだけどPythonをできるだけ速くしようというのは徒労に終わるんだよな
642デフォルトの名無しさん (ガックシ 06eb-lAaw)
2022/11/03(木) 19:17:29.83ID:5fumPTTR6 >>635
allかanyか使う
allかanyか使う
643デフォルトの名無しさん (ワッチョイ 1301-pRvw)
2022/11/03(木) 19:45:13.49ID:NbsIPyEs0644デフォルトの名無しさん (ワッチョイ c108-UToK)
2022/11/03(木) 20:09:45.07ID:6A5YXZlC0 >>635
sympy.isprime()
sympy.isprime()
645デフォルトの名無しさん (ワッチョイ c108-UToK)
2022/11/03(木) 20:13:41.27ID:6A5YXZlC0646デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/03(木) 20:16:42.18ID:gDosIilW0 SymPy無いさー
647デフォルトの名無しさん (ワッチョイ 11da-++bF)
2022/11/03(木) 22:42:51.75ID:qK/YTuYk0 Numpyさぁ
648デフォルトの名無しさん (ワッチョイ c1b0-ee5o)
2022/11/04(金) 11:06:17.40ID:RgN4dMLC0 公式のドキュメント読むと
「pip は推奨されるインストーラ・プログラムです。 Python 3.4 からは、 Python バイナリ・インストーラに最初から付属するようになりました。」
とか見るけど、触る環境どれも最初からインストールされてた試しがなくて手動インストールばっかなんだが
「pip は推奨されるインストーラ・プログラムです。 Python 3.4 からは、 Python バイナリ・インストーラに最初から付属するようになりました。」
とか見るけど、触る環境どれも最初からインストールされてた試しがなくて手動インストールばっかなんだが
649デフォルトの名無しさん (ワッチョイ 7933-MTQz)
2022/11/04(金) 11:16:46.46ID:+Vzk9d850 >>648
どこのバイナリインストーラ使ってるの?
どこのバイナリインストーラ使ってるの?
650デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/04(金) 11:23:08.55ID:eh042CP4a >>648
たぶん入ってるけど実行ファイルのパスが通ってないんだよ
たぶん入ってるけど実行ファイルのパスが通ってないんだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
