Pythonのお勉強 Part72

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 03c5-hEBs)
垢版 |
2023/12/27(水) 15:42:25.63ID:sVIMH2iW0
!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/
※前スレ
Pythonのお勉強 Part71
https://mevius.5ch.net/test/read.cgi/tech/1695168821/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2024/05/06(月) 11:45:32.98ID:6LmmIky40
concurrent.futuresモジュールのが書きやすいかもしれん
どっちも見てみて
2024/05/06(月) 12:28:01.25ID:poYagYhe0
あんまりいいサンプルが見つからない

キモは、プロセスの実行に条件があるという点
file1-step1が完了してないとfile1-step2は実行できない
必要なプロセスを全部登録して実行させるとそんなことは考慮されないので、
どのプロセスが実行可能か依存関係を教えてやらないといけない
2024/05/06(月) 13:02:05.97ID:6LmmIky40
モジュール使う分には単純だから公式ドキュメント読んで
https://docs.python.org/ja/3/library/multiprocessing.html
https://docs.python.org/ja/3/library/concurrent.futures.html
それでファイル単位に並列にして
ファイルを引数にstep1/step2を関数化したら後は呼ぶだけよ

あるいは外部コマンド化して
cat paths | xargs -IZ -P $(nproc) sh -c 'step1.py Z; step2.py Z'
2024/05/06(月) 13:58:46.28ID:poYagYhe0
step1とstep2でプロセスを分けずに全体を1つのプロセスにするということかな
実際にはそれぞれで別のexeファイルを実行するのでなかなか難しい
2024/05/06(月) 17:25:03.16ID:JLRUeB280
for file in files:
 step1.exe file
for file in files:
 step2.exe file
という形じゃなく
step1.exe files
step2.exe files
という形で実行してるなら各exeがファイル毎に進捗報告やコールバックしてくれないと
ファイル単位で処理を先に進めるのは無理

前者でやってるならやりようがあるけど
ファイル単位じゃなくステップ単位にまとめるとスピードアップしたということなので
その原因を先に確認した上でやり方考えたほうがいい

性能向上のための並行/並列化は
具体的な処理内容やワークロードの特性によってアプローチが変わる
one size fits allなやり方は存在しない
2024/05/06(月) 17:28:20.27ID:42NkMtxY0
何を言ってんだこいつは
プログラミング言語の前に国語をやり直せ
そうだな>>748を100万回読み直して相手に何が伝わってると思うか感想を述べよ
2024/05/06(月) 17:29:01.71ID:JLRUeB280
>>752
>'step1.py Z; step2.py Z'
これは'step1-3.py Z’でよくない?
キャッシュされてもインタプリタ起動のオーバーヘッドはそれなりにかかるので
2024/05/06(月) 17:41:01.35ID:JLRUeB280
>>755
なるほど
実際にはまだ何も並行化/並列化できてないという話なのか

>実際にはそれぞれで別のexeファイルを実行するのでなかなか難しい
だったら↑この思い込みを捨てることから始めたほうがいいよ

結局のところPythonで並行/並列化するなら以下の4択なので
具体的な処理内容とワークロードの特性を加味して適切なものを選んでね
1.非同期
2.マルチスレッド
3.マルチプロセス
4.非同期+マルチプロセス
2024/05/06(月) 19:12:43.39ID:poYagYhe0
結局、
proc1.exeをsubprocess.Popen()で並列処理
proc2.exeをsubprocess.Popen()で並列処理
proc3.exeをsubprocess.Popen()で並列処理
となっていたものを、
proc1.exe
proc2.exe
proc3.exe
を実行するbatファイルに移動させて、
batファイルをsubprocess.Popen()で並列処理で目的は達成できた

batファイルかー、という気もするけど、並列処理で依存関係を気にした例は見つからなかった
(並行処理なら普通)
759デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 19:51:46.91ID:mwAWJr9U0
バッチファイルのことをbatファイルと書いているのは初めて見た
2024/05/06(月) 19:58:25.18ID:poYagYhe0
マジか
"バッチファイル" 473,000
"batファイル" 134,000
だから少数派ではあるけど、22%くらいの勢力はあるのに

そもそも、batファイルを使った経験自体が少ないのでは
761デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 19:58:39.61ID:mwAWJr9U0
>>758
テキストファイルの操作みたいだけど、そういうのは処理範囲を指定して同時に動かすんだよ。
2024/05/06(月) 20:03:11.50ID:poYagYhe0
エスパーすげえ
763デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 20:04:20.54ID:mwAWJr9U0
>>760
batファイルという書き言葉は最近、発生しているようだけど、一般書籍でもマイクロソフトでもbatファイルとは呼んでいない。

日本語ではバッチファイル、英語ではbatch file。

バッチファイルを使ったことがないというのは、シェルスクリプトを使ったことがないというのと同じで、Pythonコードも動かいたことがないと思われてしまうレベル。
764デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 20:06:52.12ID:mwAWJr9U0
>>762
ステップは行という意味に思われるからやめた方がいい
765デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 20:13:01.17ID:mwAWJr9U0
>>762
複数のファイルと書いてあったな。

並列化には担当するファイルを分けるなどいくらでも方法はある。

マルチプロセスの日本語訳が並列処理、マルチスレッドの日本語訳が並行処理だが、英語ではマルチという言葉で同時実行という言葉ではない。

同時実行という意味を付加しているのは日本語。
2024/05/06(月) 20:16:17.12ID:poYagYhe0
エスパーの言葉は為になる
767デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 20:21:34.96ID:mwAWJr9U0
EXEファイルを二重起動とかPythonもバッチファイルも関係ねえな

実行ファイルを引数なしで実行するとか、シリアル前提処理を多重起動して、想定どおりにならないとか狂っんなw
768デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 20:23:17.58ID:mwAWJr9U0
>>766
本人不在だったのか
769デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 20:24:57.69ID:mwAWJr9U0
ID:poYagYhe0 は自作自演のネタ野郎だった
2024/05/06(月) 21:00:04.96ID:jGkweDD/0
>>763
batファイルでも別に普通じゃない?
拡張子batのファイルには違いないんだし

txtファイル、jpgファイル、mpgファイルと同じだよ
771デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 21:40:01.57ID:mwAWJr9U0
テキストファイルの拡張子をtxtとしているのはWindowsの世界だけ

Windowsを使っていてバッチファイルを知らないなんて素人だろ
772デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 21:47:03.75ID:mwAWJr9U0
>>770
拡張子は拡張子でしかない

JPEGのファイルの拡張子はjpegが本来の拡張子で、jpgはWindows、MS-DOSの拡張子は3文字までという仕様で発生したもの。

さらにWindowsのデフォルト設定だと拡張子を表示しないんだぜ?

何をどう勘違いしているのかな。
2024/05/06(月) 21:49:36.31ID:poYagYhe0
エスパーの思考は常人には判らない
774デフォルトの名無しさん (ワッチョイ be2a-R/2N)
垢版 |
2024/05/06(月) 22:24:52.88ID:BKncXC1b0
>>772 の中では噛み合った会話なのかな。
2024/05/06(月) 22:42:13.79ID:okP0fzrBa
ほほいほいほい
776デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 23:45:29.15ID:mwAWJr9U0
txtファイルなんて書くやついるのか?
777デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/06(月) 23:50:45.62ID:mwAWJr9U0
拡張子がhtmlだとhtmlファイル、拡張子がhtmだとhtmファイルだと呼ぶなら、単に無知をごまかしているだけ
778デフォルトの名無しさん (ワッチョイ 9f5f-ggbZ)
垢版 |
2024/05/07(火) 00:02:15.12ID:pgxJqkT00
バッチファイルはマイクロソフトの命名のセンスが悪かっただけだが、バッチファイルと作っている会社が言っている名称を使うのが素直

拡張子が3文字だと思っている疑惑があるのと、UNIX、Linuxの世界では拡張子はあくまで目印にすぎない

ファイルが何のファイルかは少し読み込んで判断する
WindowsでUTF-8のテキストファイルを扱う場合は、テキストファイルにBOMという情報を先頭に書く

シェルスクリプトも1行目に自分自身の種類と何で実行するのかを書く
2024/05/07(火) 00:24:22.86ID:UwVziOPZ0
なんかすげぇ
自分の中で世界ができあがってる…
2024/05/07(火) 01:25:06.73ID:H+bNZbY80
どうでもいいことで盛り上がってんなww
batファイルってのは同じバッチファイルでも.cmdじゃなく.batだぞってこと
htmファイルも同じ
まあ個人的には.batファイルのようにドット付きでなら書くけどドット無しでは書かないな
2024/05/07(火) 01:49:44.68ID:H+bNZbY80
>>758
proc1.exeをsubprocess.run()
proc2.exeをsubprocess.run()
proc3.exeをsubprocess.run()
↑この一連を関数にまとめればbatファイルはいらない
それとまとめた関数は直接Popenじゃなくmultiprocessing経由で処理すれば
Poolを使う分だけオーバーヘッドが減る

あと処理内容次第だけどasyncio使って全部非同期ににしたほうが
コードは多少面倒でもリソースが減って速度も出る可能性もある
2024/05/07(火) 10:26:46.57ID:Ik+FWYJJ0
Pool版も問題なく動いた

if __name__ == '__main__':
が要るのね
2024/05/07(火) 14:13:11.88ID:Ik+FWYJJ0
子供がエラー出てもなんも判らんのな
get() すると判るけど、マルチプロセスにならないので、デバッグ終わったら外す
グローバル変数経由で参照させようとしても見えないとか罠がいろいろ
2024/05/07(火) 14:44:49.52ID:G2cFB2bJ0
Python関係なく基礎技術知らなすぎるんだろうけど
https://docs.python.org/ja/3/library/multiprocessing.html#multiprocessing-listeners-clients
たぶんこのへん誤読してる
他のモジュールでも同じような仕組みはあるから読み替えて
2024/05/07(火) 14:51:36.53ID:Ik+FWYJJ0
apply_async(func, args=(arg,))
の余計なコンマもなんじゃこれと思ったら、無いと動かないんだよな
そんなもんバグやがな
2024/05/07(火) 15:53:24.89ID:wj0nk6OJ0
それは要素が1個のタプルだ
2024/05/07(火) 15:55:19.18ID:Ik+FWYJJ0
グローバル変数が参照できるかどうかは処理系依存な気がするんだよな
Copy-On-Writeでプロセス増やしてたら普通に参照できる筈
そんな互換性の無いコードが書けていいのかとは思うけど
2024/05/07(火) 16:00:55.95ID:1eoADVhQ0
さすがにこのレベルの基礎を押さえていない人は
自称Python初心者でなくても↓こちらのスレへどうぞ

>●関連スレ● 自称初心者は↓へ
>【まず1嫁】くだすれPython(超初心者用) その59
>https://mevius.5ch.net/test/read.cgi/tech/1689241721/
2024/05/07(火) 16:02:36.17ID:1eoADVhQ0
>>788>>785宛ね
2024/05/07(火) 16:11:14.75ID:Ik+FWYJJ0
要素1個のタプル 1,
要素0個のタプル ()

なんでやねん
コンマこそがタプルを表しているなら、コンマだけが空タプルの本質だろうに
冗長に書いて(,) でもエラーになる
コンマがタプルで括弧はおまけだけど空の時だけ例外ルール
791デフォルトの名無しさん (ワッチョイ 177c-0EWD)
垢版 |
2024/05/07(火) 19:25:27.35ID:pe1yL5GL0
>>790
あのさ(1)だとタプルじゃなくてただ数値がカッコで括られてるだけと判別出来ないだろ
2024/05/07(火) 19:43:11.21ID:JFPI5Q+n0
>>790
要素数ゼロのタプルって何か意味あるん
2024/05/08(水) 00:49:45.86ID:Y9XLt/8j0
>>792
要素数が変化しない空のシーケンスを表現するためにある
fが引数1個を取る関数、gが引数を取らない関数だとしたら
apply(f, (1,))とapply(g, ())
のようにempty tupleを使うのが理にかなってる
2024/05/08(水) 01:07:25.23ID:cM7EHH5y0
>>793
なるほど
ありがとう
795デフォルトの名無しさん (ワッチョイ 7e44-c5DX)
垢版 |
2024/05/09(木) 23:41:44.90ID:P9FAaCLY0
SQLで書いてるクエリをSQLAlchemyでORMにしたいのに
全然出来んわ、半分諦めかけてる
なんかコツとかないんか?
2024/05/09(木) 23:48:54.52ID:QJAKpfod0
word1かword2かword3のいずれかがstrに含まれているかどうか
はどうやったらすっきり書けるだろう

内包表記なら書けるけど、
if (word1, word2, word3) in str
くらいの判りやすさが欲しい
2024/05/10(金) 07:36:47.53ID:nJD+ZkrE0
すぐに思いつかないようなゴルフが仮にできるとしても
関数化した方がわかりやすいとおもう
2024/05/10(金) 09:53:05.97ID:vDbRcS320
any(w in str for w in words)で不満か?
799デフォルトの名無しさん (ワッチョイ be2a-gL2P)
垢版 |
2024/05/10(金) 10:30:11.03ID:kWReMx2d0
>>798
>>796 さんは「すっきり」と仰っていますが。

# 敢えて反語法で表現しました。
800デフォルトの名無しさん (JP 0H33-ePh+)
垢版 |
2024/05/10(金) 15:27:10.41ID:r+qjDbjAH
どういうこと?strかどうか調べたいていうこと?
801デフォルトの名無しさん (ワッチョイ be2a-gL2P)
垢版 |
2024/05/10(金) 17:50:44.59ID:D/Pzsr590
>>800
(word1 in str) or (word2 in str) or (word3 in str)
を、すっきり書きたいのですと。
2024/05/10(金) 18:31:25.49ID:oMx4R1JP0
list in str
を許容するように文法を変える
結果のリストが得られるので、
any(list in str)
みたいに使う
2024/05/10(金) 18:35:00.30ID:GFO3EFl80
and なのかor なのかは明示してくれ
804デフォルトの名無しさん (ワッチョイ 8b2c-ePh+)
垢版 |
2024/05/10(金) 18:40:17.35ID:AxWmaiK30
isinstance(word1, str)
805デフォルトの名無しさん (ワッチョイ 8b2c-ePh+)
垢版 |
2024/05/10(金) 18:47:36.75ID:AxWmaiK30
anyかallで>>804わたすのじゃだめなの?
806デフォルトの名無しさん (ブーイモ MM8a-c5DX)
垢版 |
2024/05/10(金) 18:50:16.41ID:doYTKqcMM
>>796
ここで言うstrって変数じゃなくて型か?
2024/05/10(金) 19:40:33.29ID:gpbnw0cs0
短くするより分かりやすくする方がよくないか
808デフォルトの名無しさん (ワッチョイ 8b71-0+0w)
垢版 |
2024/05/10(金) 21:21:08.00ID:AxWmaiK30
any([isinstance(x, str) for x in (word1, word2, word3)])
any(map(isinstance, (word1, word2, word3), [str]*3))
2024/05/10(金) 21:41:43.74ID:oMx4R1JP0
関数一つかますしか無いだろうな

def find_words(list, str):
 return [w in str for w in list]

print(any(find_words(['a', 'b'], 'bcde')))
2024/05/10(金) 21:41:47.92ID:I57YSXlo0
、pythonでWEBスクレイピングをしてるのですが、タスクスケジューラで動かすと画面が欠けます。
ログイン中だと問題なくでます。
なぜかサイズ指定しても効かないのですが、タスクスケジューラで登録して自動実行させてる方いませんでしょか?
2024/05/11(土) 00:19:43.68ID:Lq3Rg3RR0
>>810
「ユーザーがログオンしているかどうかに関わらず実行する」が選択された場合、
タスクはセッション0のデスクトップが無い環境で実行される(Vista以降)
通常のブラウザでイスクレイピングをしたければ適当なアカウントにログインしていなければならない
またはヘッドレスモードのあるブラウザなら動きそうではあるがどうだったかな
2024/05/11(土) 01:09:05.58ID:OjGtgcFx0
>>811
ありがとうございます。
ヘットレスモード試してみます。
まずはログインした状態でタスクスケジューラ起動とかが一番近道かもですね!
2024/05/11(土) 03:05:51.08ID:XZyyqECr0
>>796
s = set(str.split())
if {word1, word2, word3} & s != {}:
 ...
2024/05/11(土) 03:15:20.18ID:XZyyqECr0
>>796
ごめん間違えた
s = set(str.split())
if {word1, word2, word3} & s != set():
 ...
2024/05/11(土) 06:12:20.38ID:MOJftii60
配列のインデックスが1じゃなく0から始まる利点て?
2024/05/11(土) 07:40:03.89ID:6kJwwEnQ0
0の方がいろいろ合理的だけど、
printf(f'{count+1}')
とかやるよな

範囲を示す時に始点と終点よりも、始点と終点+1(次の要素の始点)の方が
便利なケースが圧倒的に多いけど、なんか怖いので愚直にやる
817デフォルトの名無しさん (ワッチョイ be2a-gL2P)
垢版 |
2024/05/11(土) 08:22:43.45ID:N2421kI80
>>813-814
スマソ、なんか Trueにならなくね?

>>> word1 = 'abc'
>>> word2 = 'def'
>>> word3 = 'ghi'
>>> sstr = 'aaabcddd'
>>> s = set(sstr.split())
>>> {word1, word2, word3} & s != set()
False
>>> s = set('zzzzzzz'.split())
>>> {word1, word2, word3} & s != set()
False
>>>
818デフォルトの名無しさん (ワッチョイ 177c-0EWD)
垢版 |
2024/05/11(土) 08:24:59.32ID:KSi13UAi0
>>815
Pythonって配列無いんじゃ?リストやろ

C言語系とかの配列的に添字が0から始まるのはメモリアドレスを計算する時に高速な為
2024/05/11(土) 09:00:38.69ID:yJym4BaO0
1. {'sss'}.issubset({'s', 'ss', 'sst'})

2.
strings = ('miss')
ret = any([s for s in ('s', 'ss', 'ss') if s in strings])

3. filter(lambda s=s: s in strings, strings)

4.
strings = ('ss', )
is_in = strings in ('s', 'ss', 'sss')
820デフォルトの名無しさん (ワッチョイ 37ca-ePh+)
垢版 |
2024/05/11(土) 11:03:50.73ID:6E9A5zBq0
strって関数オブジェクトじゃないの?
821デフォルトの名無しさん (ワッチョイ ea83-Np3+)
垢版 |
2024/05/11(土) 11:33:01.51ID:gV6TyhSc0
ヒント
画像情報 テレポート
エネルギー 瞬間にどう
観測結果論部あり
※情報とエネルギーを送れるのなら任意の波と線とHzを任意の場所で発生可能

上記の技術に脳内インプラントデータを対象者全身に送信で操り人形
地球外宇宙人もサイコパスが使用中

高度な科学を使用できていても自然環境も人間社会いも狡猾な者【人間を物として見る者】が圧勝
ガスライティング.ギャングストーカー.電磁波攻撃 等
現在の若者サイコパスで無い者は何%いるのかな?

地球派【マイクロ波聴覚効果】は違法でないので宇宙人が行っていても合法
別の惑星はテロに該当なので問答無用で戦争

マイクロ波は波の種類なので
X線でマイクロ波を起こしているので
お前に200回のx線を打ち込んだも理解できるでしょう
※5Gはミリ波で動的動作も追跡可能になるのでマイクロ波より便利
テラヘルツ波はミリ波と比べて現在不明なので研究中

何Hzの帯域は対象者周囲の状況に応じて変化していると思われるので
線種類 + 波種類 + 何hz + 使用w数 = 音波【音の高さ】?
2024/05/11(土) 11:47:23.04ID:6kJwwEnQ0
requests.get() したものに対して、
<meta charset= の内容を見てencodingを設定してくれる機能ってある?
2024/05/11(土) 12:21:55.32ID:XZyyqECr0
>>817
その条件では使えない
英文みたいに空白で単語が区切られている時に使える
部分一致はsuffix arrayみたいな重く複雑なsetが必要
ひょっとしたら何かエレガントな書き方があるのかもしれないが
824デフォルトの名無しさん (ワッチョイ 7e44-c5DX)
垢版 |
2024/05/11(土) 13:44:37.23ID:dlaw+38P0
>>822
まずdecodeしないでmeta見れるの?
2024/05/11(土) 16:52:01.34ID:MOJftii60
>>816 >>818
おk
2024/05/11(土) 16:57:44.24ID:6kJwwEnQ0
apparent_encoding にするといいよという記事をよく見るけど、
encodingに困ってる時にapparent_encoding使うと悪化する
困ってない時は何もしなくていい
結局使い所が無い
2024/05/11(土) 17:02:27.88ID:7DA564Sp0
>>818
高級言語なのにそこにつっこむセンス
速度に影響するから知っておいても損はないけども
むしろ内部実装でいうとlistは配列ちがう?
828デフォルトの名無しさん (ワッチョイ 7e44-c5DX)
垢版 |
2024/05/11(土) 17:32:49.96ID:dlaw+38P0
>>826
エンコーディングの推論って日本語だとうまく機能しないよな
結局決め打ちして試すしかない
2024/05/11(土) 17:55:41.08ID:6kJwwEnQ0
決め打ちしなくても、meta読めばそれが正解なんだよな
答えが書いてあるのに推測しようとして失敗する
830デフォルトの名無しさん (ワッチョイ 2bd0-2p88)
垢版 |
2024/05/12(日) 01:03:35.51ID:sYFXlqml0
charsetに嘘書いてある事もあるから
metaは参考程度
2024/05/12(日) 03:16:25.45ID:blI7TU//0
>>827
なんで配列がリストと同様だと思ったん?
2024/05/12(日) 03:47:45.56ID:sQadkg9O0
>>831
https://github.com/python/cpython/blob/main/Objects%2Flistobject.c
2024/05/12(日) 15:32:32.50ID:qUDonbHH0
「動的配列は配列じゃないリストだ」と言い張る人なんじゃね?
それか何か根本的な勘違いをしてるか

まあどうでもいいけど
2024/05/12(日) 15:44:47.38ID:H0ypy+dK0
その辺の言葉の使い方は言語や人や実装によって違うからまずは定義をちゃんとして欲しいな
2024/05/12(日) 15:47:15.87ID:DQpWxQ2J0
言語も何も指定せずにプログラム関連でリストというと、リスト構造を指すよな
836デフォルトの名無しさん (ワッチョイ 557c-06YP)
垢版 |
2024/05/12(日) 15:49:04.86ID:jPmIOKVf0
基本情報も持ってないような奴はその辺のデータ構造としての配列とかリスト分かってないんだろ
2024/05/12(日) 15:51:41.09ID:H0ypy+dK0
大抵はリンクリストを指すのだろうけど動的言語あたりが好き勝手用語を解釈し始めて
動的配列を指すこともあるし一般的にモノが並んでいることをリストと言ったりもする
ややこしい時代になったもんだ
2024/05/12(日) 18:01:26.30ID:XuEaHJPQ0
データ構造に言及しない文脈なら一般的に一覧とかリストで済ますでしょ
PythonスレはVBAスレに並ぶ初心者が集うスレだからこんな議論が度々起きても仕方ない
839デフォルトの名無しさん (ワッチョイ 7568-sqPz)
垢版 |
2024/05/12(日) 19:15:29.77ID:TeUsEGsc0
ごくごく一般的な言葉を環境特有の用語として使う馬鹿が悪い
2024/05/12(日) 19:35:34.27ID:DQpWxQ2J0
数学なんかそんなんばっかり
わざとだろと思うくらい
2024/05/12(日) 21:39:13.62ID:qUDonbHH0
赤っ恥かいた人の自演言い訳レスばっかりで草
842デフォルトの名無しさん (ワッチョイ 7568-sqPz)
垢版 |
2024/05/13(月) 02:42:21.97ID:4H4E5Igk0
俺の投稿GW以降初なんだが馬鹿の自演言い訳扱いにされてんの?
843 警備員[Lv.1][新初] (ブーイモ MMb3-7UPu)
垢版 |
2024/05/13(月) 19:42:10.18ID:FIEerBn6M
>>833
配列そのものが連続したアドレスのメモリ領域のことだからな

動的にメモリを確保する場合は、型が後づけになるから配列と呼ぶの違和感があるのは仕方ない
2024/05/13(月) 20:27:48.60ID:qI7rp+/ud
サイズ決めてからリスト作ったら
内部データは1つの配列?
それとも1つ1つ個別のリンクリスト?
2024/05/13(月) 20:53:26.29ID:Vgw5tAUB0
そういうのはnumpyなんだよな
2024/05/13(月) 22:15:15.85ID:2RX7d+Cx0
>>843
>配列そのものが連続したアドレスのメモリ領域のことだからな
何を主張したいのかよくわからん
Pythonのlistは配列じゃないと言いたいの? それとも配列だと言いたいの?

>動的にメモリを確保する場合は、型が後づけになるから配列と呼ぶの違和感があるのは仕方ない
動的にメモリを確保することと型が後付になるかどうかは関係ないよ
2024/05/13(月) 22:22:23.19ID:Vgw5tAUB0
メモリなんかいつでも好きな時に確保できるように見えるだけで、
実際はmallocで頑張って実現してるしな

思想は先進化していくのに実現手段はずっとCなので、
職人がどんどんハゲる
848デフォルトの名無しさん (ワッチョイ 312a-qYA6)
垢版 |
2024/05/14(火) 08:46:28.42ID:qHkm4M1L0
結局 >>839 だよな。お前の言う「配列」はどれなんだってな。
2024/05/14(火) 09:10:15.76ID:KCRt/7OV0
「環境特有の用語」として使ってるやつなんていないだろ
2024/05/14(火) 11:55:04.88ID:tAOIV1Ky0
発端はこれ
>Pythonって配列無いんじゃ?リストやろ

書き方から配列ではない”リスト”、リストではない”配列”について述べてることは自明
つまり抽象データ構造としてのリストを指してるわけではなく、その具体的実装のうち配列ではないもの(リンクリスト等)を指しているか、Pythonのlist(リスト型)を指していることになる

次にこれ
>なんで配列がリストと同様だと思ったん?

これはlistの内部実装が配列だというレスへの返信内容なので、発端となったレスと合わせるとlistがリンクリスト的なもので実装されてると勘違いしてたということ

同じ勘違いをしてると思われ、かつ同じように二言目にはCに言及してるレスが散見されるのは偶然ではないでしょう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況