!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のお勉強 Part72
https://mevius.5ch.net/test/read.cgi/tech/1703659345/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
Pythonのお勉強 Part73
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f610-G7il)
2024/06/06(木) 08:48:10.07ID:DsazphEm0499デフォルトの名無しさん (ワッチョイ 069b-ukzR)
2024/08/14(水) 06:52:49.57ID:JNnpce7i0 1年前くらいにStreamlitでめっちゃ遊んでたが
あれから何か進展あったかな
当時は2段以上のページ遷移の実装がめんどくさかった記憶
あれから何か進展あったかな
当時は2段以上のページ遷移の実装がめんどくさかった記憶
500デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/14(水) 09:36:06.91ID:YQXXxccb0 a系列とb系列の同じ数のデータがあって、
a系列の値でソートしたb系列のデータが欲しい
どういうデータの持ち方をするのが一番適切だろう
a系列の値でソートしたb系列のデータが欲しい
どういうデータの持ち方をするのが一番適切だろう
501デフォルトの名無しさん (ワッチョイ e501-AQgI)
2024/08/14(水) 12:13:31.29ID:iBvZxVPY0 >>500
どういうデータの持ち方をするのが一番適切なのかは
そのデータにまつわるすべてのCRUD操作について
頻度・データ量・性能要件などの詳細を明確にしてから検討するもの
a系列の値でソートしたb系列のデータが欲しいという
一つの操作だけで判断できるものではない
どういうデータの持ち方をするのが一番適切なのかは
そのデータにまつわるすべてのCRUD操作について
頻度・データ量・性能要件などの詳細を明確にしてから検討するもの
a系列の値でソートしたb系列のデータが欲しいという
一つの操作だけで判断できるものではない
502デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/14(水) 12:49:52.86ID:YQXXxccb0 a[i]とb[i]の場合
sorted(range(len(a)), key=lambda x: a[x])
l[i]['a']とl[i]['b']の場合
sorted(l, key=lambda x: x['a'])
l[i].aとl[i].bの場合
sorted(l, key=lambda x: x.a)
もっとすっきりと、
sorted(l, key=a)
みたいに書けないものか
sorted(range(len(a)), key=lambda x: a[x])
l[i]['a']とl[i]['b']の場合
sorted(l, key=lambda x: x['a'])
l[i].aとl[i].bの場合
sorted(l, key=lambda x: x.a)
もっとすっきりと、
sorted(l, key=a)
みたいに書けないものか
503デフォルトの名無しさん (アウアウエー Sa4a-ZlnX)
2024/08/14(水) 14:51:05.74ID:92pG5tQ9a >>500
pandas
pandas
504デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/15(木) 09:30:21.30ID:7XNNm+7n0 a[i]とb[i]の場合は
sorted(zip(a, b), key=lambda x: x[0])
こんなんでもいい
sorted(zip(a, b), key=lambda x: x[0])
こんなんでもいい
505デフォルトの名無しさん (ワッチョイ 2ed6-nIDn)
2024/08/15(木) 09:31:33.49ID:IOoAsN9I0 keyいらん
506デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/15(木) 09:33:42.86ID:7XNNm+7n0 そうだった
1つ目のタプルでソートするんだった
忘れてるくらいだから、暗黙として使うと読めなくなりそう
1つ目のタプルでソートするんだった
忘れてるくらいだから、暗黙として使うと読めなくなりそう
507デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/15(木) 09:44:05.66ID:7XNNm+7n0 そうすると、key要らない個別リストで持つのが一番シンプルだな
格納方法の手間はそれぞれでかなり違ってて、
個別リストは個別にappendするだけ
辞書は準備できたらセットでappend
classは当然classが必要 タイミング等は辞書と同等
要素2個ならリストでいいけど、3個以上のものを個別に持つのは気持ち悪いので、
そんなデータ構造なら他の理由からもclassが楽だろう
でも2個のケースが圧倒的に多い
格納方法の手間はそれぞれでかなり違ってて、
個別リストは個別にappendするだけ
辞書は準備できたらセットでappend
classは当然classが必要 タイミング等は辞書と同等
要素2個ならリストでいいけど、3個以上のものを個別に持つのは気持ち悪いので、
そんなデータ構造なら他の理由からもclassが楽だろう
でも2個のケースが圧倒的に多い
508デフォルトの名無しさん (ワッチョイ c119-Xp5Y)
2024/08/15(木) 09:59:05.23ID:hgBkEHHk0 独自の振る舞い与えたりやインターフェースにしたいならクラスで書いてもいいけど
Pandasが楽でいろいろ手厚い
有名だから他人の理解も得られやすいし
Pandasが楽でいろいろ手厚い
有名だから他人の理解も得られやすいし
509デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/15(木) 10:31:29.70ID:7XNNm+7n0 要は2次元配列を扱おうとしていて、pythonにそんなデータ構造は無いから苦労してるだけなんだよな
numpyを入れれば解決するかというと、
やってやれなくはないけど、逆に複雑なことになってしまう
もう一重被せてpandas、ということなんだけど、pandasはあんまり近寄りたくないんだよな
numpyを入れれば解決するかというと、
やってやれなくはないけど、逆に複雑なことになってしまう
もう一重被せてpandas、ということなんだけど、pandasはあんまり近寄りたくないんだよな
510デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/15(木) 10:48:30.73ID:7XNNm+7n0 polarsの場合
df.select(pl.col('val', 'name').sort_by('val'))
抽象化が進む
selectが要るのは、そういうものなのだろう
df.select(pl.col('val', 'name').sort_by('val'))
抽象化が進む
selectが要るのは、そういうものなのだろう
511デフォルトの名無しさん (ワッチョイ 0925-XFPU)
2024/08/15(木) 13:32:50.80ID:l9rIXl+/0 特定のHPを開くやつ作ったんだけど
こんなエラー出る。 詳しい人意味と対策教えてください
DevTools listening on ws://127.0.0.1:54343/devtools/browser/87ef9d15-6c10-4859-ad8e-0f40190709a3
[4184:21844:0815/132851.755:ERROR:ssl_client_socket_impl.cc(883)] handshake failed; returned -1, SSL error code 1, net_error -107
[4184:21844:0815/132851.760:ERROR:ssl_client_socket_impl.cc(883)] handshake failed; returned -1, SSL error code 1, net_error -100
こんなエラー出る。 詳しい人意味と対策教えてください
DevTools listening on ws://127.0.0.1:54343/devtools/browser/87ef9d15-6c10-4859-ad8e-0f40190709a3
[4184:21844:0815/132851.755:ERROR:ssl_client_socket_impl.cc(883)] handshake failed; returned -1, SSL error code 1, net_error -107
[4184:21844:0815/132851.760:ERROR:ssl_client_socket_impl.cc(883)] handshake failed; returned -1, SSL error code 1, net_error -100
512デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/15(木) 13:42:48.29ID:7XNNm+7n0 Seleniumよりいいの?
513デフォルトの名無しさん (ワッチョイ 6219-vl8G)
2024/08/15(木) 15:02:01.87ID:wvw+pa8M0 >>495
omanko
omanko
514デフォルトの名無しさん (ワッチョイ 4601-+pRy)
2024/08/15(木) 15:10:49.80ID:WrspfLfR0 >>505>>506
sorted(zip(a, b))とsorted(zip(a, b), key=lambda x: x[0])はソート結果が違うので要件を見極めてから使い分けてね
sorted(zip(a, b))とsorted(zip(a, b), key=lambda x: x[0])はソート結果が違うので要件を見極めてから使い分けてね
515デフォルトの名無しさん (ワッチョイ 6273-k00U)
2024/08/15(木) 15:51:14.21ID:FZXdmvv90516デフォルトの名無しさん (ワッチョイ 0910-EAYk)
2024/08/16(金) 14:50:00.96ID:csQM6Qg30517デフォルトの名無しさん (ワッチョイ 92ee-Xdjv)
2024/08/16(金) 16:30:40.64ID:ghvDT0nG0 kindleのアンリミテッド対象でオススメの入門とかある??
518デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 16:52:04.12ID:Lkm5DKgc0 無いだろうな
基礎的なことはネットで足りる
進歩的な内容は金かかる
effective pythonの旧版がamazonで送料込み500円しないので、それをポチる
基礎的なことはネットで足りる
進歩的な内容は金かかる
effective pythonの旧版がamazonで送料込み500円しないので、それをポチる
519デフォルトの名無しさん (ワッチョイ 4202-mJNK)
2024/08/16(金) 18:05:55.70ID:djtLdUd20 python使い始めたが、
配列のdeepcopyじゃなく、copyって何に使うの?
コピー元の値も変わっちゃうけど
配列のdeepcopyじゃなく、copyって何に使うの?
コピー元の値も変わっちゃうけど
520デフォルトの名無しさん (ワッチョイ 6d75-5TJn)
2024/08/16(金) 18:11:44.26ID:6tCTFnFi0 別名
521デフォルトの名無しさん (ワッチョイ 1e01-OaJM)
2024/08/16(金) 18:15:45.87ID:mRy6k/zm0 >>519
shallow copyとdeep copyという一般概念を学んでくれ
ChatGPTにでも聞けば丁寧に教えてくれるはず
それ後に
なぜコピー元の値も変わっちゃうと思っちゃったかを振り返ってくれ
shallow copyとdeep copyという一般概念を学んでくれ
ChatGPTにでも聞けば丁寧に教えてくれるはず
それ後に
なぜコピー元の値も変わっちゃうと思っちゃったかを振り返ってくれ
522デフォルトの名無しさん (ワッチョイ 6219-TmDL)
2024/08/16(金) 18:16:18.01ID:GehV+MKu0 >>519
それは用語のセンスがなかっただけ
それは用語のセンスがなかっただけ
523デフォルトの名無しさん (ワッチョイ 6219-TmDL)
2024/08/16(金) 18:17:23.95ID:GehV+MKu0 >>521
そもそもちゃんとドキュメントや書籍を読めよ!
そもそもちゃんとドキュメントや書籍を読めよ!
524デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 18:38:35.65ID:Lkm5DKgc0 https://i.imgur.com/Jw8AJnB.png
主に自分の理解用教材画像
ただの代入はコピーではなく別名定義
コピー元を変えるとコピー先も当然変わる
copyは別オブジェクトを生成する
コピー元を変えても(浅いレベルなら)コピー先は変わらない
copyであっても、オブジェクトの中身はただのクローンなので変わってしまう
中身も変えたくない場合はdeeocopy
主に自分の理解用教材画像
ただの代入はコピーではなく別名定義
コピー元を変えるとコピー先も当然変わる
copyは別オブジェクトを生成する
コピー元を変えても(浅いレベルなら)コピー先は変わらない
copyであっても、オブジェクトの中身はただのクローンなので変わってしまう
中身も変えたくない場合はdeeocopy
525デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 18:43:15.00ID:Lkm5DKgc0 deepcopy使ったのは、再帰でパズル解いた時くらいだな
分岐先に渡したデータを変更しても戻った時には保存されてないといけない
分岐先に渡したデータを変更しても戻った時には保存されてないといけない
526デフォルトの名無しさん (ワッチョイ b292-6gAB)
2024/08/16(金) 19:06:56.83ID:nKGchtUv0527デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 19:20:56.16ID:Lkm5DKgc0 参照するだけならクローンもコピーも不要なんだよな
わざわざcopyするということは、その後どちらかを書き換える前提な訳で
書き換えるけどshallowしか使わない設計にしてるから大丈夫な筈
という綱渡りをしてるとしか思えない
わざわざcopyするということは、その後どちらかを書き換える前提な訳で
書き換えるけどshallowしか使わない設計にしてるから大丈夫な筈
という綱渡りをしてるとしか思えない
528デフォルトの名無しさん (ワッチョイ 6d0e-u7mq)
2024/08/16(金) 20:09:34.83ID:l1JK1BDI0 >>527
コピーは割とよく使われるぞ
以下のような関数呼び出しでも x から data へのシャローコピーが起きるし
def func(data: list[int]):
print(data)
x = [1, 2, 3]
func(x)
処理を分割することはよくあるので、そうと認識してないかもしれないけど、コピーは自然に使われてる
補足すると、これをコピーでなく参照渡しと思う人もいるかもしれないけど、それはよくある誤解
なぜなら、funcの中で data が指すリストの中身を変更することはできるけど、呼び出し元の x にstr など別の値を代入することはできないため
funcの引数dataは呼び出し元の変数xではなく、xからコピーされたものが渡されている
コピーは割とよく使われるぞ
以下のような関数呼び出しでも x から data へのシャローコピーが起きるし
def func(data: list[int]):
print(data)
x = [1, 2, 3]
func(x)
処理を分割することはよくあるので、そうと認識してないかもしれないけど、コピーは自然に使われてる
補足すると、これをコピーでなく参照渡しと思う人もいるかもしれないけど、それはよくある誤解
なぜなら、funcの中で data が指すリストの中身を変更することはできるけど、呼び出し元の x にstr など別の値を代入することはできないため
funcの引数dataは呼び出し元の変数xではなく、xからコピーされたものが渡されている
529デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 20:11:22.47ID:Lkm5DKgc0 参照しかしないなら怖くもなんともない
530デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 20:15:51.59ID:Lkm5DKgc0 https://i.imgur.com/vnmAGYS.png
こんな風に、簡単に壊れてしまう
こんな風に、簡単に壊れてしまう
531デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 20:19:07.36ID:Lkm5DKgc0532デフォルトの名無しさん (ワッチョイ 2ed6-xIub)
2024/08/16(金) 20:19:17.75ID:HvNqjSRc0 >>528はコピーではない
533デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 20:32:15.57ID:Lkm5DKgc0534デフォルトの名無しさん (ワッチョイ 2ed6-xIub)
2024/08/16(金) 20:35:35.86ID:HvNqjSRc0 参照の値渡しと参照の違いを学んで混同したんだろう
535デフォルトの名無しさん (ワッチョイ 6d0e-u7mq)
2024/08/16(金) 20:45:28.33ID:l1JK1BDI0 すまねえこれは自分の勘違いだ
x = [1, 2, 3]
y = x
z = x.copy()
のyの動作もシャローコピーと看做せると認識してて、関数の引数の挙動はこれと同じであると言いたかった
参照渡しではないというのは、C++やC#にあるような参照渡しはできない (呼び出し元の変数に別の値を代入することはできない) というのが主張
x = [1, 2, 3]
y = x
z = x.copy()
のyの動作もシャローコピーと看做せると認識してて、関数の引数の挙動はこれと同じであると言いたかった
参照渡しではないというのは、C++やC#にあるような参照渡しはできない (呼び出し元の変数に別の値を代入することはできない) というのが主張
536デフォルトの名無しさん (ワッチョイ 6d9a-Ud1O)
2024/08/16(金) 20:49:44.47ID:Z05myL510 pythonに参照渡しは存在しない
というのは暴言か
というのは暴言か
537デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 21:01:45.54ID:Lkm5DKgc0 無いでしょ
全てが、参照の値渡しの筈
全てが、参照の値渡しの筈
538デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 21:16:31.87ID:Lkm5DKgc0 pythonに参照渡しは無いので、参照渡しの挙動で中身を推測すると間違う
値渡し pass by value
参照渡し pass by reference
参照の値渡し(共有呼び, オブジェクト呼び) call by sharing, call by object
アドレスではなくオブジェクトを渡しているというのが最大のミソなんだけど、
何が違うねんという理解でもあまり困らない
値渡し pass by value
参照渡し pass by reference
参照の値渡し(共有呼び, オブジェクト呼び) call by sharing, call by object
アドレスではなくオブジェクトを渡しているというのが最大のミソなんだけど、
何が違うねんという理解でもあまり困らない
539デフォルトの名無しさん (ワッチョイ 6219-TmDL)
2024/08/16(金) 21:19:00.72ID:GehV+MKu0 Pythonの実装はポンコツだから、Pythonそのものは誰も好きじゃない。
いいところは例外が事前に定義されているところ。
いいところは例外が事前に定義されているところ。
540デフォルトの名無しさん (ワッチョイ 6219-TmDL)
2024/08/16(金) 21:21:26.06ID:GehV+MKu0541デフォルトの名無しさん (ワッチョイ c119-Xp5Y)
2024/08/16(金) 21:49:58.00ID:gx6pQUFB0 テキトー書いてるひとは自己申告してくれるとたすかる
いまのところ把握できてるけど
いまのところ把握できてるけど
542デフォルトの名無しさん (ワッチョイ 651f-gA51)
2024/08/16(金) 21:59:20.67ID:ClCJIGxl0 >>533
「基礎的なことはネットで足りるキリッ」からの参照渡しを知らんとかお前は全然足りてないやんw
「基礎的なことはネットで足りるキリッ」からの参照渡しを知らんとかお前は全然足りてないやんw
543デフォルトの名無しさん (ワッチョイ 6d64-Ud1O)
2024/08/16(金) 22:04:19.29ID:Z05myL510 ミュータブルとかイミュータブルとかは
当初は「なんでこんな仕組みなんだ」
って思うけど、値渡しの挙動とか考えると
納得がいくんだよな
当初は「なんでこんな仕組みなんだ」
って思うけど、値渡しの挙動とか考えると
納得がいくんだよな
544デフォルトの名無しさん (ワッチョイ 1984-hgB2)
2024/08/16(金) 22:15:25.83ID:N3uolhZj0 参照渡しの議論をする人は、C++での参照渡しを理解してからか、
そうでないなら独自の「参照渡し」の定義をしている可能性があるので定義を述べてからにしてほしい
def f(x):
x=2
y=1
f(y)
print(y)
で2が出るのがC++でいう参照渡し
そうでないなら独自の「参照渡し」の定義をしている可能性があるので定義を述べてからにしてほしい
def f(x):
x=2
y=1
f(y)
print(y)
で2が出るのがC++でいう参照渡し
545デフォルトの名無しさん (ワッチョイ 1922-ukzR)
2024/08/16(金) 22:28:01.36ID:xH5s9xm90 冷静に考えると、キーボードカタカタと人生の半分以上を
コーディングに費やす人間がこれから先当たり前になるのって
人類史上、初なんだろうな
まぁ近い将来カタカタする必要なくなる世界線もあるだろうけど
コーディングに費やす人間がこれから先当たり前になるのって
人類史上、初なんだろうな
まぁ近い将来カタカタする必要なくなる世界線もあるだろうけど
546デフォルトの名無しさん (ワッチョイ c29a-k00U)
2024/08/16(金) 22:38:18.96ID:sAC4Fqoe0 独自の参照渡しを参照渡しの定義として語る人は何なんだろう
CS勉強してないとこうなるのかな
CS勉強してないとこうなるのかな
547デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 22:40:29.02ID:Lkm5DKgc0 元々参照渡しという言葉があったのに、
C++が新しい参照渡しを追加したからややこしくなっている
値渡しと参照渡しの二択の世界で、別のアドレスにコピーして渡すかポインタを渡すかの違いだった
C++で同じアドレスを指す別の変数の書き方が導入された
*pVar としなくても、Var のままで取り扱えて便利
やってることはポインタ渡しと同じ
C++が新しい参照渡しを追加したからややこしくなっている
値渡しと参照渡しの二択の世界で、別のアドレスにコピーして渡すかポインタを渡すかの違いだった
C++で同じアドレスを指す別の変数の書き方が導入された
*pVar としなくても、Var のままで取り扱えて便利
やってることはポインタ渡しと同じ
548デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 22:50:59.65ID:Lkm5DKgc0 pythonの場合は、f(y)を呼ぶと、xにはyというオブジェクトが入っている
それだけの話なので、xに新しいオブジェクトを入れてもyには何の影響もない
C++だとxはyという変数の別名になる
だから、xに行った操作はyにも影響する
それだけの話なので、xに新しいオブジェクトを入れてもyには何の影響もない
C++だとxはyという変数の別名になる
だから、xに行った操作はyにも影響する
549デフォルトの名無しさん (ワッチョイ 5901-IXBT)
2024/08/16(金) 23:28:02.02ID:DX07HNt80 最近どこかで見た話だと思ったら
くだすれで2ヶ月前にあった話だった
こいつ全く学習してないな・・・
くだすれで2ヶ月前にあった話だった
こいつ全く学習してないな・・・
550デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/16(金) 23:34:33.12ID:Lkm5DKgc0 「参照の値渡し」という語がうまいこと言ってるかと思えるかというと
全然そんなことはなくて、意味不明すぎる
これがしっくり来る日は永久に来ないだろう
オブジェクト渡しでええやん
全然そんなことはなくて、意味不明すぎる
これがしっくり来る日は永久に来ないだろう
オブジェクト渡しでええやん
551デフォルトの名無しさん (ワッチョイ 6d0e-u7mq)
2024/08/17(土) 00:00:36.88ID:K84lbgy40 C風に言えばポインタの値渡し
552デフォルトの名無しさん (ワッチョイ be06-hgB2)
2024/08/17(土) 02:15:20.99ID:FbxJBc5j0 perlだとリファレンス/デリファレンスとか実体参照って言うな
これはわかりやすい
これはわかりやすい
553デフォルトの名無しさん (ワッチョイ 4202-mJNK)
2024/08/17(土) 04:17:21.85ID:oNvrieZ10554デフォルトの名無しさん (ワッチョイ c29a-k00U)
2024/08/17(土) 04:58:48.74ID:jNc9Eb8A0555デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/17(土) 05:00:58.90ID:eDPa81400 https://i.imgur.com/x4pG7y4.png
intやfloatやstrのような値っぽい変数を渡すと、関数の中でそれを破壊しても呼び元では保存され、
listやdicのようなポインタっぽい変数を渡すと、副作用を持たせることができる
まるで、typeを見て値渡しと参照渡しを切り替えているような、、、
ここに、プログラムなんか全く知らない文系の名探偵を連れてくる
名探偵: 値が保存している関数の処理は全て、"x = "の形式をしている
これが正解であり本質である
intやfloatやstrのような値っぽい変数を渡すと、関数の中でそれを破壊しても呼び元では保存され、
listやdicのようなポインタっぽい変数を渡すと、副作用を持たせることができる
まるで、typeを見て値渡しと参照渡しを切り替えているような、、、
ここに、プログラムなんか全く知らない文系の名探偵を連れてくる
名探偵: 値が保存している関数の処理は全て、"x = "の形式をしている
これが正解であり本質である
556デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/17(土) 05:19:55.19ID:eDPa81400 値とリストの中間みたいなstrでは顕著で、
str.replace() で置換後を返すんじゃなくて破壊的に置換してくれよとか、
str[0] = ' ' みたいにリスト的に扱わせてくれよと思ってもそんな手段は無い
イミュータブルがイミュータブルなのは、ミュータブルな処理が言語仕様のどこにも無いという
悪魔の証明みたいな方法で実現されている
必然的に、イミュータブルなオブジェクトの入った変数の変更は、新しいオブジェクトへの変更になる
str.replace() で置換後を返すんじゃなくて破壊的に置換してくれよとか、
str[0] = ' ' みたいにリスト的に扱わせてくれよと思ってもそんな手段は無い
イミュータブルがイミュータブルなのは、ミュータブルな処理が言語仕様のどこにも無いという
悪魔の証明みたいな方法で実現されている
必然的に、イミュータブルなオブジェクトの入った変数の変更は、新しいオブジェクトへの変更になる
557デフォルトの名無しさん (ワッチョイ c195-Xp5Y)
2024/08/17(土) 06:42:25.04ID:xfy35KhQ0 組み込み関数や標準ライブラリが非破壊・破壊で統一感ないのは
互換性のためだからどうしようもないけど
変数のアサインはシンプル動作で誤解しようがない
イミュータブル・ミュータブルにちがいはなく
イミュータブルは獲得時に同じ実体(id)を返すってだけ
互換性のためだからどうしようもないけど
変数のアサインはシンプル動作で誤解しようがない
イミュータブル・ミュータブルにちがいはなく
イミュータブルは獲得時に同じ実体(id)を返すってだけ
558デフォルトの名無しさん (ワッチョイ 498e-gw8m)
2024/08/17(土) 07:30:01.44ID:S6E7v25U0 馬鹿は用語だけ覚えて理屈を理解しないからいつまで経っても馬鹿なまま
プログラミングだけではなく世の中の真実がこれ
プログラミングだけではなく世の中の真実がこれ
559デフォルトの名無しさん (ワッチョイ 7197-hgB2)
2024/08/17(土) 08:05:31.14ID:aGgOhja70 >>555
3ヶ月でいいからごたくを並べる前にCとC++でコード書きなよ。スッキリするから。
3ヶ月でいいからごたくを並べる前にCとC++でコード書きなよ。スッキリするから。
560デフォルトの名無しさん (ワッチョイ 6db8-u7mq)
2024/08/17(土) 08:08:33.52ID:K84lbgy40 >>553
この質問についていえば、個人的にはcopyを使う場面ってあまり無いと思う
この質問についていえば、個人的にはcopyを使う場面ってあまり無いと思う
561デフォルトの名無しさん (ワッチョイ 0931-EAYk)
2024/08/17(土) 08:56:53.76ID:NsTQR03i0 スマホゲームでレア鉱山というのが沸くんだが
それを内部的に沸いたら即取るみたいなプログラムを
教えてください。
お願いしますぺこり
それを内部的に沸いたら即取るみたいなプログラムを
教えてください。
お願いしますぺこり
562デフォルトの名無しさん (ワッチョイ 4202-mJNK)
2024/08/17(土) 08:58:23.47ID:oNvrieZ10563デフォルトの名無しさん (ワッチョイ 0999-gA51)
2024/08/17(土) 09:46:14.10ID:LklgFq+T0 質問者から見てバカレスに思えるレスが多数つくのは質問内容や質問の仕方がそれ以上にバカっぽいからなんだぞ
反省しろよ
反省しろよ
564デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/17(土) 11:04:30.43ID:eDPa81400 https://i.imgur.com/LR4dCLW.png
数をイミュータブルとする為に、pythonでは全ての数に対して
対応するオブジェクトのidが予め設定されている
なんとなく数学的センスで全ての数なんて相手にしたら無限にメモリが要りそうに思うけど、
何のことはない、
intオブジェクトであることを示すbit列 + intのbit列表現そのもの
で実現できる
python2は本当にそんな感じで、3になって動的にbit数が変わるようになった
数をイミュータブルとする為に、pythonでは全ての数に対して
対応するオブジェクトのidが予め設定されている
なんとなく数学的センスで全ての数なんて相手にしたら無限にメモリが要りそうに思うけど、
何のことはない、
intオブジェクトであることを示すbit列 + intのbit列表現そのもの
で実現できる
python2は本当にそんな感じで、3になって動的にbit数が変わるようになった
565デフォルトの名無しさん (ワッチョイ c29a-k00U)
2024/08/17(土) 14:09:06.79ID:jNc9Eb8A0566デフォルトの名無しさん (ワッチョイ 2ed6-xIub)
2024/08/17(土) 14:17:24.07ID:ReFbJvTn0 だいたいメソッドのほうの.copy()で十分だから
copy.copy()の使いどきはあるのかよくわからない
immutableとmutableを意識せずにコピーする用途なんてあるかな
copy.copy()の使いどきはあるのかよくわからない
immutableとmutableを意識せずにコピーする用途なんてあるかな
567デフォルトの名無しさん (ワッチョイ 6e13-9lcd)
2024/08/17(土) 14:18:31.35ID:SZXysGd00 >>564
馬鹿につける薬はなさそうだなw
馬鹿につける薬はなさそうだなw
568デフォルトの名無しさん (ワッチョイ fd54-WSZc)
2024/08/17(土) 15:31:12.95ID:eDPa81400 https://i.imgur.com/LjROLoj.png
strの場合はそんなに厳密ではない
リテラルに書けば同じidになるけど、演算結果が同じになったとしても
わざわざ同じidに集めたりはしない
strの場合はそんなに厳密ではない
リテラルに書けば同じidになるけど、演算結果が同じになったとしても
わざわざ同じidに集めたりはしない
569デフォルトの名無しさん (ワッチョイ e501-OOAr)
2024/08/17(土) 16:21:00.49ID:dSpnymJm0 >>566
任意のオブジェクトをシャローコピーしようとするのがcopy.copy()
基本的にはmutable用
どの型かを意識せずに汎用的にコピーしたいときに使う
copy()メソッドを持つのが確実なら.copy()を呼べばいい
copy.copy()も例えばlistが渡されたら内部的にはlist.copy()を呼んでる
任意のオブジェクトをシャローコピーしようとするのがcopy.copy()
基本的にはmutable用
どの型かを意識せずに汎用的にコピーしたいときに使う
copy()メソッドを持つのが確実なら.copy()を呼べばいい
copy.copy()も例えばlistが渡されたら内部的にはlist.copy()を呼んでる
570デフォルトの名無しさん (ワッチョイ 4202-mJNK)
2024/08/17(土) 17:39:52.82ID:oNvrieZ10571デフォルトの名無しさん (ワッチョイ 7feb-/7EV)
2024/08/18(日) 00:56:03.56ID:qMq0AqVM0 >>544
Pythonの関数の実装が、ただのプログラムのジャンプのような説明になっているんだよ。
Pythonの関数の実装が、ただのプログラムのジャンプのような説明になっているんだよ。
572デフォルトの名無しさん (ワッチョイ 7feb-/7EV)
2024/08/18(日) 00:59:10.22ID:qMq0AqVM0 >>569
Pythonそのものがマシン語、アセンブラでいうところの呼び出しになっていない可能性がある。
関数が後付けだったせいで、コード上の見た目が関数という別のプログラムに見せかけているだけかもしれない。
Pythonそのものがマシン語、アセンブラでいうところの呼び出しになっていない可能性がある。
関数が後付けだったせいで、コード上の見た目が関数という別のプログラムに見せかけているだけかもしれない。
573デフォルトの名無しさん (ワッチョイ 1f54-2rwY)
2024/08/18(日) 01:01:46.95ID:z4/qydmG0 折角中身を隠してあげてるのにCPythonでの実装を知りたがる
でも結局、CPythonのソース読むのが理解の最短距離
でも結局、CPythonのソース読むのが理解の最短距離
574デフォルトの名無しさん (ワッチョイ 9f79-mGB0)
2024/08/18(日) 01:14:18.28ID:mCdxu7x30 コピーの深い浅いにかんしては、
多次元リスト(リストを要素とするリスト)でどうなるかということを考えると、
違いはそんなには混乱しないとは思うんだけどね
シャローコピーはスライス式で(意識することなく)作成されることが多いかも
多次元リスト(リストを要素とするリスト)でどうなるかということを考えると、
違いはそんなには混乱しないとは思うんだけどね
シャローコピーはスライス式で(意識することなく)作成されることが多いかも
575デフォルトの名無しさん (ワッチョイ 1f54-2rwY)
2024/08/18(日) 01:28:14.09ID:z4/qydmG0 何の為にコピーするのか、を考えると、浅いコピーで十分なケースが想像できないんだよな
リストの削除や追加をしたいだけで、要素の中身についてはノータッチな処理
何それ
リストの削除や追加をしたいだけで、要素の中身についてはノータッチな処理
何それ
576デフォルトの名無しさん (ワッチョイ 7feb-/7EV)
2024/08/18(日) 02:28:48.09ID:qMq0AqVM0 このスレは初心者だから、データの大きさを気にしてないんだろうな。
577デフォルトの名無しさん (ワッチョイ 1f56-h5o9)
2024/08/18(日) 05:45:04.91ID:ucdOco2s0 Pythonのコピーについて調べてみて俺もあまり意識せずにリストのコピーとかしてたけど、コピーしたあとにコピーもとをいじくることってないから別に気にせんでいいなって思った
まぁでも知っておくのは大事やね
まぁでも知っておくのは大事やね
578デフォルトの名無しさん (ワッチョイ 9f79-x24Y)
2024/08/18(日) 06:56:50.44ID:JrXKrbOQ0 >>564
-500とかどうなんの?
-500とかどうなんの?
579デフォルトの名無しさん (ワッチョイ 7f02-bHMQ)
2024/08/18(日) 09:20:21.58ID:SIlzIa7v0580デフォルトの名無しさん (ワッチョイ 7fee-FzYF)
2024/08/18(日) 10:00:51.35ID:LYouUNCa0 Pythonでスクレイピングするならライブラリは何がおすすめ?
速度が遅いのは嫌だな
速度が遅いのは嫌だな
581デフォルトの名無しさん (ワッチョイ ff01-gRiL)
2024/08/18(日) 10:57:09.07ID:OzCF4tGS0 >>575
519のレスとかこのレスを見るとシャローコピーを理解してるようには全く見えないんだよね
sortedやreversedだったりスライス([:])だったりlist comprehensionが返すリストは基本的に全部シャローコピーだよ
519のレスとかこのレスを見るとシャローコピーを理解してるようには全く見えないんだよね
sortedやreversedだったりスライス([:])だったりlist comprehensionが返すリストは基本的に全部シャローコピーだよ
582デフォルトの名無しさん (ワッチョイ 7f02-bHMQ)
2024/08/18(日) 11:59:36.35ID:SIlzIa7v0 ↑
これ
こういう内容が無いゴミレス
これ
こういう内容が無いゴミレス
583デフォルトの名無しさん (ワッチョイ 1f54-2rwY)
2024/08/18(日) 12:13:23.41ID:z4/qydmG0 参照するつもりしかないけど、処理が別のオブジェクトを生成するから、
どうやってもシャローコピーになるというだけの話
壊す気満々でコピーを作ってるんだったら、シャローコピーでは足りないだろ
どうやってもシャローコピーになるというだけの話
壊す気満々でコピーを作ってるんだったら、シャローコピーでは足りないだろ
584デフォルトの名無しさん (ワッチョイ 7f44-DHVe)
2024/08/18(日) 12:40:36.98ID:49joGH2n0 >>579
ついてるだろw
ついてるだろw
585デフォルトの名無しさん (ワッチョイ ff01-ktaB)
2024/08/18(日) 12:43:36.28ID:OzCF4tGS0586デフォルトの名無しさん (ワッチョイ 7f44-DHVe)
2024/08/18(日) 12:47:11.94ID:49joGH2n0587デフォルトの名無しさん (ワッチョイ 7f24-rgSo)
2024/08/18(日) 13:07:35.94ID:qMq0AqVM0 こんな感じでバッチ処理を実装して数GBも使い果たし、メモリ不足にさせるのがいまどきのベテランプログラマー。
588デフォルトの名無しさん (ワッチョイ 7f02-bHMQ)
2024/08/18(日) 13:51:01.41ID:SIlzIa7v0589デフォルトの名無しさん (ワッチョイ 1f54-2rwY)
2024/08/18(日) 14:00:36.90ID:z4/qydmG0 そのままコピペして、物理学のスレとか国際政治学のスレとかに貼り付けても万能に使える
要は何も判ってない奴が謎の理由で何か書きたいだけ
判ってる人の指摘は1行というか1ワードなんだよな
適切なタイミングで必要なことだけを指摘する
短ければ短いほど強力
要は何も判ってない奴が謎の理由で何か書きたいだけ
判ってる人の指摘は1行というか1ワードなんだよな
適切なタイミングで必要なことだけを指摘する
短ければ短いほど強力
590デフォルトの名無しさん (アウアウ Sa8f-DHVe)
2024/08/18(日) 14:01:03.05ID:9iBzwKAza591デフォルトの名無しさん (ワッチョイ ff67-xhLv)
2024/08/18(日) 14:13:49.37ID:SVV7jetg0592デフォルトの名無しさん (ワッチョイ ff67-xhLv)
2024/08/18(日) 14:16:03.28ID:SVV7jetg0 >>575
統計で複数変数のデータセットがあって
既存の変数を加工して合成変数を追加する、とかかな
それにしても元の行列変わるリスクは負わせたくないわ普通
それでタプルとかあるのかもしれないけど
そもそもミュータブルなのがダメ
統計で複数変数のデータセットがあって
既存の変数を加工して合成変数を追加する、とかかな
それにしても元の行列変わるリスクは負わせたくないわ普通
それでタプルとかあるのかもしれないけど
そもそもミュータブルなのがダメ
593デフォルトの名無しさん (ワッチョイ ff67-xhLv)
2024/08/18(日) 14:19:15.83ID:SVV7jetg0 積極的にミュータブルさせたい時は
perlなら実体参照使うけど
構造体が深くなるにつれコードがぐちゃぐちゃになってくるから
pythonの方がマシかもしれないけど
デフォルトでミュータブルなのはやばいと思う
perlなら実体参照使うけど
構造体が深くなるにつれコードがぐちゃぐちゃになってくるから
pythonの方がマシかもしれないけど
デフォルトでミュータブルなのはやばいと思う
594デフォルトの名無しさん (ワッチョイ 7f44-DHVe)
2024/08/18(日) 14:26:22.25ID:49joGH2n0 流石にデフォルトでディープコピーは遅すぎるだろ
数万要素のテンソルコピーしたら終わるぞ
数万要素のテンソルコピーしたら終わるぞ
595デフォルトの名無しさん (ワッチョイ 9f01-hbOy)
2024/08/18(日) 14:29:56.97ID:9omRSoe40 作るもん無くなって暇になった
専業でもないけどなんか収益化に繋がりそうなお題くれ
専業でもないけどなんか収益化に繋がりそうなお題くれ
596デフォルトの名無しさん (ワッチョイ 1f54-2rwY)
2024/08/18(日) 14:36:33.49ID:z4/qydmG0 根本の問題に戻ってくるな
コピーは破壊するけどオリジナルは保存したい処理なんてあるの
殆どのケースは、
・参照しかしないからシャローコピーで十分
・変更するけどオリジナルも同時に変更される前提
のどちらか
コピー側だけ変更するというのは、似たようなデータの二重管理をしてる訳で、
何かアンチパターンをやってる気がする
コピーは破壊するけどオリジナルは保存したい処理なんてあるの
殆どのケースは、
・参照しかしないからシャローコピーで十分
・変更するけどオリジナルも同時に変更される前提
のどちらか
コピー側だけ変更するというのは、似たようなデータの二重管理をしてる訳で、
何かアンチパターンをやってる気がする
597デフォルトの名無しさん (アウアウエー Sa7f-9uNt)
2024/08/18(日) 14:50:10.51ID:tu42Sbmia598デフォルトの名無しさん (アウアウエー Sa7f-9uNt)
2024/08/18(日) 14:51:51.47ID:tu42Sbmia >>558
ほんそれ
ほんそれ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
