!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
Pythonのお勉強 Part72
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 03c5-hEBs)
2023/12/27(水) 15:42:25.63ID:sVIMH2iW027デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/02(火) 17:06:08.58ID:YHSrr3CM0 list1がインデックスのリストで、その[0:2]の内容をインデックスとした
list2の一部を取り出したい時はどう書いたらいい?
list2の一部を取り出したい時はどう書いたらいい?
28デフォルトの名無しさん (ワッチョイ 4601-EF0K)
2024/01/02(火) 17:24:28.33ID:yAberLu6029デフォルトの名無しさん (ワッチョイ 4601-EF0K)
2024/01/02(火) 17:28:18.91ID:yAberLu6030デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/02(火) 19:39:00.00ID:YHSrr3CM0 ああ、それだ
どうやってもループ的になるのは避けられないんだな
1行で書けるというだけで
どうやってもループ的になるのは避けられないんだな
1行で書けるというだけで
31デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/02(火) 21:01:40.65ID:YHSrr3CM0 def fill_rcsv(field, name, position):
candidate = search(name, field)
for position in candidate:
fill_rcsv(field, name, position)
要素だけ書くとこんな感じの再帰呼出しで、
複数回呼ぶとうまくいかない
for position in candidate[0:1]:
みたいに1回だけにするとばっちり動く
再帰で何かが上書きされてるんじゃないかと疑ってるけど、
そんな筈は無いし、何がおかしいんだろう
candidate = search(name, field)
for position in candidate:
fill_rcsv(field, name, position)
要素だけ書くとこんな感じの再帰呼出しで、
複数回呼ぶとうまくいかない
for position in candidate[0:1]:
みたいに1回だけにするとばっちり動く
再帰で何かが上書きされてるんじゃないかと疑ってるけど、
そんな筈は無いし、何がおかしいんだろう
32デフォルトの名無しさん (オッペケ Srf1-SV6x)
2024/01/02(火) 21:34:01.44ID:MhnXHP5rr33デフォルトの名無しさん (オッペケ Srf1-SV6x)
2024/01/02(火) 21:36:03.53ID:MhnXHP5rr >>31
何やりたいのか知らないけど引数のpositionが意味ないからそりゃ動かないだろうな
何やりたいのか知らないけど引数のpositionが意味ないからそりゃ動かないだろうな
34デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/02(火) 21:48:28.13ID:YHSrr3CM0 なんで意味ないの?
35デフォルトの名無しさん (ワッチョイ b18d-nK/n)
2024/01/02(火) 21:51:12.00ID:gERpN8hs0 map(lambda x: list2[x], list1)
36デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/02(火) 22:23:44.72ID:YHSrr3CM0 実際には終了条件の為にrestという変数も渡してる
fill_rcsv()の中でrest.pop(0)する
最初から空なら終了
呼び出しの時のrestを、rest.copy() にするだけで挙動が全然違う
再帰の時の引数にリストを渡した時の呼び出し元に対する影響がよく判らない
fill_rcsv()の中でrest.pop(0)する
最初から空なら終了
呼び出しの時のrestを、rest.copy() にするだけで挙動が全然違う
再帰の時の引数にリストを渡した時の呼び出し元に対する影響がよく判らない
37デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/02(火) 22:56:33.18ID:iDasqM+7M38デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/02(火) 22:57:38.80ID:iDasqM+7M 副作用がばりばりあってそれでも想定通り動くコードなのだとしたらその部分だけ見せてもわかるわけないしどっちにせよおかしい
39デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/02(火) 23:06:10.04ID:YHSrr3CM0 省いちゃったけど、positionはfieldを更新するのに使ってる
ループが1重ならちゃんと動作するので、設計自体はおかしくないんだけど、
2回目以降を呼ぶ時に前回の影響が何故か残ってるとしか思えない
ループが1重ならちゃんと動作するので、設計自体はおかしくないんだけど、
2回目以降を呼ぶ時に前回の影響が何故か残ってるとしか思えない
40デフォルトの名無しさん (ワッチョイ 4601-EF0K)
2024/01/02(火) 23:27:49.93ID:tsCK1S6o0 >>36
>呼び出しの時のrestを、rest.copy() にするだけで挙動が全然違う
そりゃそうでしょ
>再帰の時の引数にリストを渡した時の呼び出し元に対する影響がよく判らない
再帰関係ないじゃん
引数にリストを渡した時の呼び出し元に対する影響がよく判らないのに
設計自体がおかしくないと思うのが間違い
>呼び出しの時のrestを、rest.copy() にするだけで挙動が全然違う
そりゃそうでしょ
>再帰の時の引数にリストを渡した時の呼び出し元に対する影響がよく判らない
再帰関係ないじゃん
引数にリストを渡した時の呼び出し元に対する影響がよく判らないのに
設計自体がおかしくないと思うのが間違い
41デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/02(火) 23:32:04.47ID:YHSrr3CM0 そりゃそうでしょ、というのが全く実感できないんだよな
なんで動かないのか不思議で仕方ない
その根拠を知りたくて質問してるのに、
そんなの動かないよーだけでは同類
なんで動かないのか不思議で仕方ない
その根拠を知りたくて質問してるのに、
そんなの動かないよーだけでは同類
42デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/03(水) 00:11:45.62ID:1+Mz/XnMM 質問の仕方でpython弱いのが分かるレベルなのに
開き直って甘えてんなあ
teratailとかでそんな聞き方したらぶち殺されるぞ
あまりスレ民の優しさに甘えるなよ
開き直って甘えてんなあ
teratailとかでそんな聞き方したらぶち殺されるぞ
あまりスレ民の優しさに甘えるなよ
43デフォルトの名無しさん (ワッチョイ c56e-NoMX)
2024/01/03(水) 00:20:02.95ID:WAHmHtMV0 Elixir の再帰では、リストの要素をすべて走査したら終了する。
引数には、accumulator・蓄積変数を持っている
リストを、[ head | tail ] に分解して、headを処理する。
tailを引数に渡して再帰する
終了条件は、tailが空[ ]になった時
[1, 2, 3] → [1,[2,3]] 1を処理
[2,3] → [2, [3]] 2を処理
[3] → [3, []] 3を処理
[] → 終了
引数には、accumulator・蓄積変数を持っている
リストを、[ head | tail ] に分解して、headを処理する。
tailを引数に渡して再帰する
終了条件は、tailが空[ ]になった時
[1, 2, 3] → [1,[2,3]] 1を処理
[2,3] → [2, [3]] 2を処理
[3] → [3, []] 3を処理
[] → 終了
44デフォルトの名無しさん (ワッチョイ c279-9iEs)
2024/01/03(水) 00:24:10.82ID:tiof+l/G0 再帰呼び出しがうまくいきません
・終了条件のための引数restは省略しています
・引数positionの参照は省略しています
・引数fieldの更新も省略しています
・引数positionの算出も省略
重要な部分が省略されてて不具合なんて分かるわけがない
・終了条件のための引数restは省略しています
・引数positionの参照は省略しています
・引数fieldの更新も省略しています
・引数positionの算出も省略
重要な部分が省略されてて不具合なんて分かるわけがない
45デフォルトの名無しさん (ワッチョイ c56e-NoMX)
2024/01/03(水) 00:30:19.66ID:WAHmHtMV0 Ruby のオブジェクトは、shallow copy だから、参照しかコピーされない。
内側のオブジェクトはコピーされずに、同一オブジェクトを使い回す
deep copy は難しい。
Python もそうなのかも?
内側のオブジェクトはコピーされずに、同一オブジェクトを使い回す
deep copy は難しい。
Python もそうなのかも?
46デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/03(水) 00:31:22.73ID:LcImUTxt0 添削を依頼してる訳じゃないんだよな
400行のコード貼ったって誰も読まない
ループじゃ無ければ動く、という部分をとっかかりに
はまりポイントが思いつく人だけ反応してくれればいい
400行のコード貼ったって誰も読まない
ループじゃ無ければ動く、という部分をとっかかりに
はまりポイントが思いつく人だけ反応してくれればいい
47デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/03(水) 00:32:41.65ID:1+Mz/XnMM 今後もプログラミング続けるなら、まず質問する時に、後出し後出しで事故ってるとこをどんどん出すのはやめたほうがいい
教える側が普通に想像する事態について丁寧に説明しても、あとからあとから「いや、実はこうなんで」って出てくるなら、
どんな初心者の変なコードにも対応できる一般論や抽象的な話しかできなくなってしまう
そうなると有意義なアドバイスは難しい
それとは別に、ごくまともな指摘をもらっておいて
いや俺はわかってる、設計はあってる、でもなんかおかしい、俺は悪くない みたいなことを言わないほうがいい ムカつくし、単に嘘をついてるから
断片的な話だけで完全に設計間違ってることがわかるレベルで間違ってる
教える側が普通に想像する事態について丁寧に説明しても、あとからあとから「いや、実はこうなんで」って出てくるなら、
どんな初心者の変なコードにも対応できる一般論や抽象的な話しかできなくなってしまう
そうなると有意義なアドバイスは難しい
それとは別に、ごくまともな指摘をもらっておいて
いや俺はわかってる、設計はあってる、でもなんかおかしい、俺は悪くない みたいなことを言わないほうがいい ムカつくし、単に嘘をついてるから
断片的な話だけで完全に設計間違ってることがわかるレベルで間違ってる
48デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/03(水) 00:39:15.47ID:LcImUTxt0 丁寧に説明してないやんw
49デフォルトの名無しさん (ワッチョイ 62ff-wGTU)
2024/01/03(水) 00:51:01.69ID:KdVdKcTt0 参照渡しと値渡しの概念すら理解してないんだろ多分
50デフォルトの名無しさん (ワッチョイ 6e31-aVO2)
2024/01/03(水) 00:57:56.55ID:/ozK3YEK0 高卒SES共が喚きおるw
51デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/03(水) 01:11:16.06ID:LcImUTxt0 結論としては、deepcopy()で解決した
ピンと来た人いるかな?
ピンと来た人いるかな?
52デフォルトの名無しさん (ワッチョイ c24f-tmHX)
2024/01/03(水) 01:26:32.45ID:1Vhp1t1B0 >ループが1重ならちゃんと動作するので、設計自体はおかしくないんだけど、
>2回目以降を呼ぶ時に前回の影響が何故か残ってるとしか思えない
ここジワるな
>2回目以降を呼ぶ時に前回の影響が何故か残ってるとしか思えない
ここジワるな
53デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/03(水) 01:56:55.37ID:LcImUTxt0 リストをコピーして渡したいだけなのに、別モジュールのimportまで要ると思わんやん
ぐぐって見つかる再帰呼び出しの例は、再帰の魔法みたいな部分を強調したいので、
そんな面倒くさいケースは紹介しない
list.copy()というそれっぽいものが用意されていて、
大抵はそれでちゃんと別物として扱ってくれるので疑ってなかったのが敗因
浅いコピーと深いコピーの違いはぶっちゃけまだよく判ってない
ぐぐって見つかる再帰呼び出しの例は、再帰の魔法みたいな部分を強調したいので、
そんな面倒くさいケースは紹介しない
list.copy()というそれっぽいものが用意されていて、
大抵はそれでちゃんと別物として扱ってくれるので疑ってなかったのが敗因
浅いコピーと深いコピーの違いはぶっちゃけまだよく判ってない
54デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/03(水) 03:27:46.18ID:1+Mz/XnMM ここまでで二重配列って説明一切出てないけどどうやってバグらせたかはわかるよ
そもそも再帰なのに入れ子のミュータブルをdeepcopyで渡さないといけない時点で書き方確実に間違ってるからどうでもいい
そもそも再帰なのに入れ子のミュータブルをdeepcopyで渡さないといけない時点で書き方確実に間違ってるからどうでもいい
55デフォルトの名無しさん (スプッッ Sdc2-c3EK)
2024/01/03(水) 09:36:00.75ID:Hn1laHOqd 再帰関数の中でディープコピーとは
ヘビーなモノ作ってるねぇ
ヘビーなモノ作ってるねぇ
56デフォルトの名無しさん (ワッチョイ 2e10-yToa)
2024/01/03(水) 10:38:21.88ID:ddCxQkeE0 やべーな…
57デフォルトの名無しさん (ワッチョイ b1d7-jLm+)
2024/01/03(水) 12:42:33.64ID:8a8+YZHz058デフォルトの名無しさん (ワッチョイ c6a4-bJ3A)
2024/01/03(水) 15:04:21.23ID:g3N633bF0 荒っぽく説明すると
デスクトップのショートカットだけコピーするのが浅いコピー
ショートカットの中身までコピーするのが深いコピー
デスクトップのショートカットだけコピーするのが浅いコピー
ショートカットの中身までコピーするのが深いコピー
59デフォルトの名無しさん (ワッチョイ e501-EF0K)
2024/01/03(水) 15:11:36.20ID:EtnQA6qj0 1. listを渡す
2. list.copy()した結果を渡す(shallow copy)
3. list.deepcopy()した結果を渡す(deep copy)
ショートカットだけコピーするのは1じゃないか?
2. list.copy()した結果を渡す(shallow copy)
3. list.deepcopy()した結果を渡す(deep copy)
ショートカットだけコピーするのは1じゃないか?
60デフォルトの名無しさん (オッペケ Srf1-SV6x)
2024/01/03(水) 16:16:50.31ID:TWtcN/3Cr だろうね
再帰でイミュータブル渡すならまずコピーでなく参照を渡して済むことがほとんどだし
そうじゃないならリストで渡さずタプルにして値で渡せばいい
あらゆる意味で変
再帰でイミュータブル渡すならまずコピーでなく参照を渡して済むことがほとんどだし
そうじゃないならリストで渡さずタプルにして値で渡せばいい
あらゆる意味で変
61デフォルトの名無しさん (ワッチョイ e57c-lTP4)
2024/01/03(水) 16:17:41.41ID:9d0scbEX062デフォルトの名無しさん (ブーイモ MM19-MN+v)
2024/01/04(木) 08:43:33.03ID:Bfa1kVrNM63デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/04(木) 11:09:29.68ID:TXiVOLS30 webなのかー
ブラウザでやること自体のメリットはあんまり感じないけど、
ハードルが低いなら巻かれてみよう
ブラウザでやること自体のメリットはあんまり感じないけど、
ハードルが低いなら巻かれてみよう
64デフォルトの名無しさん (ワッチョイ 0948-P53C)
2024/01/04(木) 12:24:20.61ID:JYOy60Zk0 俺はネイティブ派だけどね
やはり速度的に全然違うし
ただプログラミングスタイルとしてネイティブは終わってる
やはり速度的に全然違うし
ただプログラミングスタイルとしてネイティブは終わってる
65デフォルトの名無しさん (ワッチョイ c6cd-5TQK)
2024/01/04(木) 12:44:57.47ID:sQEt7tpm0 かないしことにwebについていけてない俺
66デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/04(木) 12:46:29.15ID:TXiVOLS30 入力と出力の部品が一揃いあって使い慣れたものが目の前にあるじゃろ
という話なんだろうな
いろんなプラットフォームを意識する必要もない
という話なんだろうな
いろんなプラットフォームを意識する必要もない
67デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/04(木) 12:49:45.92ID:TXiVOLS30 組み込みとか、金融とか、PGの仕事のジャンルという大きなくくりの一つとして、
webがあるんだよな
どこかの会社のホームページ作る仕事がそんなにあるの?
という話でもないらしい
webがあるんだよな
どこかの会社のホームページ作る仕事がそんなにあるの?
という話でもないらしい
68デフォルトの名無しさん (ワッチョイ 06b9-tmHX)
2024/01/04(木) 13:17:29.54ID:soqHQibb0 何でもかんでもWebで作ろうとするのも何でもかんでもネイティブで作ろうとするのと同類
69デフォルトの名無しさん (ワッチョイ b153-nK/n)
2024/01/04(木) 14:36:17.83ID:Dez+na860 redditかなんかでwebはゴールデンハンマーじゃないって言ってる人いたな
70デフォルトの名無しさん (ワッチョイ b13c-aezk)
2024/01/04(木) 18:14:28.57ID:AtEpitve0 pythonでスクレイピングを行うvbaを起動するとTimeoutになってしまうんだけど、どうしたいいでしょうか。
ただ、VBA単体で実行するとブラウザは起動します。
エラー文:TimeoutError The driver failed to open listening port 127.0.0.1:54568 within 10s
■python構文
app = win32com.client.Dispatch("Excel.Application")
app.Visible = 1
app.Workbooks.Open(Filename=r"C:\XXX\XXX\XXX\XXX.xlsm")
app.Application.Run('OpenScrping02')
■VBA構文
Dim Driver As New ChromeDriver
'Dim Driver As New Selenium.ChromeDriver
Dim XPath As String
Dim element As String
Dim FWFlag As Boolean
Dim myBy As New By
Dim tmp As String
Driver.Get "chrome://settings/defaultBrowser"
↑でエラー文が発生します
ただ、VBA単体で実行するとブラウザは起動します。
エラー文:TimeoutError The driver failed to open listening port 127.0.0.1:54568 within 10s
■python構文
app = win32com.client.Dispatch("Excel.Application")
app.Visible = 1
app.Workbooks.Open(Filename=r"C:\XXX\XXX\XXX\XXX.xlsm")
app.Application.Run('OpenScrping02')
■VBA構文
Dim Driver As New ChromeDriver
'Dim Driver As New Selenium.ChromeDriver
Dim XPath As String
Dim element As String
Dim FWFlag As Boolean
Dim myBy As New By
Dim tmp As String
Driver.Get "chrome://settings/defaultBrowser"
↑でエラー文が発生します
71デフォルトの名無しさん (ワッチョイ 3d56-LR3M)
2024/01/05(金) 10:38:06.98ID:bgnh+40l0 ここでnuitka知って使ってみたんだけど、作ったファイルがもれなくウイルス判定されちゃう。
どしたらいい?
どしたらいい?
72デフォルトの名無しさん (ワッチョイ e57c-lTP4)
2024/01/05(金) 15:42:25.38ID:OXJtFwUv0 exe化しなきゃ良いんじゃね
寧ろexe化って何でするの?
寧ろexe化って何でするの?
73デフォルトの名無しさん (ワッチョイ 068a-W4m0)
2024/01/05(金) 15:54:44.47ID:CRLJuRKT0 pythonが使えない人に使ってもらう為じゃ
74デフォルトの名無しさん (ワッチョイ e57c-lTP4)
2024/01/05(金) 16:16:04.20ID:OXJtFwUv0 だからさstreamlitみたいなのでサクッとWebアプリ化して自社鯖なりクラウドにおいてURL叩くだけで使わせれば良いじゃん
わざわざexe化して配布して回るの?
修正とかしたらまた配り歩くの?
わざわざexe化して配布して回るの?
修正とかしたらまた配り歩くの?
75デフォルトの名無しさん (ワッチョイ 06f4-W4m0)
2024/01/05(金) 19:36:56.21ID:CRLJuRKT0 自社サーバーやクラウドが使えない企業なんじゃ
76デフォルトの名無しさん (ワッチョイ 2e10-yToa)
2024/01/05(金) 20:17:32.46ID:g/+l7Xoo0 >>71
コンパイル中にウィルス判定くらうからびびるね
コンパイル中にウィルス判定くらうからびびるね
77デフォルトの名無しさん (ワッチョイ c202-9lks)
2024/01/05(金) 20:59:15.61ID:P3pj9U7P0 raw=pandas.DataFrame({…
gb=raw.groupby(['name1','name2'])
gbmaxts=raw.loc[gb['totalScore'].idxmax(),:]
とやって、グループごとのtotalScore最大値の行を抜き出したいのですが、
問題はtotalScoreが重複した場合、どれを抜き出すか選べないのです。
score2というのがあって、重複した場合それの最大値で抜き出したいのですが、
どうやって記述すればいいでしょうか?
gb=raw.groupby(['name1','name2'])
gbmaxts=raw.loc[gb['totalScore'].idxmax(),:]
とやって、グループごとのtotalScore最大値の行を抜き出したいのですが、
問題はtotalScoreが重複した場合、どれを抜き出すか選べないのです。
score2というのがあって、重複した場合それの最大値で抜き出したいのですが、
どうやって記述すればいいでしょうか?
78デフォルトの名無しさん (ワッチョイ 4601-EF0K)
2024/01/05(金) 22:53:58.62ID:CVYX6lXR0 >>70
外部のスクリプトからExcelを開いたときはアドインとかライブラリへの参照が自動で追加されてないからとか?
エラーの内容がちょっと違う気もするけど念のためVBAで追加するようなコードを書いてみては
外部のスクリプトからExcelを開いたときはアドインとかライブラリへの参照が自動で追加されてないからとか?
エラーの内容がちょっと違う気もするけど念のためVBAで追加するようなコードを書いてみては
79デフォルトの名無しさん (ワッチョイ 4601-EF0K)
2024/01/05(金) 22:56:36.81ID:CVYX6lXR0 >>77
もっといいやり方がありそうだけど
gb=raw.groupby(['name1','name2’]).apply(lambda x: x.sort_values([“totalScore”, “score2”], ascending=False))とか
もっといいやり方がありそうだけど
gb=raw.groupby(['name1','name2’]).apply(lambda x: x.sort_values([“totalScore”, “score2”], ascending=False))とか
80デフォルトの名無しさん (ワッチョイ 0904-P53C)
2024/01/05(金) 23:13:15.31ID:esWN4e6y0 >>74
exeが好っきゃねん
exeが好っきゃねん
81デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/05(金) 23:14:45.64ID:/M3pFdhP0 悪そうなexeは大体ウィルス
82デフォルトの名無しさん (ワッチョイ 9901-K7ZM)
2024/01/05(金) 23:41:15.38ID:gyQRIy730 windowsならbatかpslでpython3を叩く自動スクリプト組んで配布すりゃよくね?初回起動時はポータブルなpythonをダウンロードするようにしてさ
83デフォルトの名無しさん (ワッチョイ e57c-lTP4)
2024/01/06(土) 05:01:59.44ID:JjfDjvUq0 今時の企業PCでexeファイルを許可なしでインスコ出来る事有る?
大抵は監視ソフト入っててインスコ出来ないようになってるよね
システム部門に申請して云々って手続きが必要とかさ
大抵は監視ソフト入っててインスコ出来ないようになってるよね
システム部門に申請して云々って手続きが必要とかさ
84デフォルトの名無しさん (ワッチョイ 6e64-aezk)
2024/01/06(土) 13:03:27.75ID:Bm30fRbr0 >>78
ありがとうございます。他を調べても同様のケースがないため、大変助かります。
可能でしたら、外部スクリプトから実行する際の構文などをご教示いただけないでしょうか。
また、改善するか不明ですが、現状のPythonでブック開く・マクロ実行までを、Pythonでブック開くまでにしてそれ以降はOpenイベントでマクロを実行する方法を試してみようと思います。
ありがとうございます。他を調べても同様のケースがないため、大変助かります。
可能でしたら、外部スクリプトから実行する際の構文などをご教示いただけないでしょうか。
また、改善するか不明ですが、現状のPythonでブック開く・マクロ実行までを、Pythonでブック開くまでにしてそれ以降はOpenイベントでマクロを実行する方法を試してみようと思います。
85デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/06(土) 13:11:34.66ID:O8iz2Lme0 print('' in 'abc')
はTrueになる
print('abc'.index(''))
も0になって、
print('abc'.index('a'))
と区別が付かない
その文字が含まれるかどうかのテストに''ならFalseになるように
書くにはどうしたらいいだろう
はTrueになる
print('abc'.index(''))
も0になって、
print('abc'.index('a'))
と区別が付かない
その文字が含まれるかどうかのテストに''ならFalseになるように
書くにはどうしたらいいだろう
86デフォルトの名無しさん (ワッチョイ ed68-xj2q)
2024/01/06(土) 15:02:18.93ID:B8r3vk8n0 なんじゃ?
87デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/06(土) 15:14:44.79ID:O8iz2Lme0 そういう方針なのかと思ったら、
print('' in {'a', 'b', 'c'})
print(None in {'a', 'b', 'c'})
こういうのはちゃんとFalseなんだよな
print('' in {'a', 'b', 'c'})
print(None in {'a', 'b', 'c'})
こういうのはちゃんとFalseなんだよな
88デフォルトの名無しさん (ワッチョイ b102-L9i3)
2024/01/06(土) 15:16:09.97ID:UVNrTgIa0 先に空文字列と比較して弾く
89デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/06(土) 15:23:37.20ID:x5UhZuS4M まず 'ab' in 'abc' をその集合表記で書いたらどうなるか考えてみるべきだな
90デフォルトの名無しさん (ワッチョイ 06a6-W4m0)
2024/01/06(土) 16:41:54.16ID:zuoTYpca0 pythonではそうなってますで終わりと言われればそれまでだが
包含か一致かの違いと考えれば辻褄が合うような
包含か一致かの違いと考えれば辻褄が合うような
91デフォルトの名無しさん (ワッチョイ 0629-MN+v)
2024/01/06(土) 16:43:39.27ID:DBEfGZD30 >>83
会社にもよるし、部署にもよる
会社にもよるし、部署にもよる
92デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/06(土) 16:58:54.42ID:O8iz2Lme0 print('' in 'abc')
for c in 'abc':
print(c == '')
print('' in ['a', 'b', 'c'])
for c in ['a', 'b', 'c']:
print(c == '')
どちらもイテレータの中身のチェック
一番上だけTrue
for c in 'abc':
print(c == '')
print('' in ['a', 'b', 'c'])
for c in ['a', 'b', 'c']:
print(c == '')
どちらもイテレータの中身のチェック
一番上だけTrue
93デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/06(土) 17:17:20.43ID:x5UhZuS4M len('')
len('a')
len('ab')
これは同じか?
len('a')
len('ab')
これは同じか?
94デフォルトの名無しさん (アウアウクー MMb1-SV6x)
2024/01/06(土) 17:22:06.80ID:x5UhZuS4M in演算子について誤解があるようだな
print('ab' in 'abc')
を書いてみてわからなかったらあきらメロン
print('ab' in 'abc')
を書いてみてわからなかったらあきらメロン
95デフォルトの名無しさん (ワッチョイ b119-nK/n)
2024/01/06(土) 18:53:00.25ID:TtodDVSd0 そう決められてるからで良いと思う
96デフォルトの名無しさん (ワッチョイ fd54-Sdmn)
2024/01/06(土) 18:59:45.88ID:O8iz2Lme0 不便だし他と不整合だしメリットが見つからないし覚えにくい
最初にそうしちゃったから今更変えられないだけに見える
最初にそうしちゃったから今更変えられないだけに見える
97デフォルトの名無しさん (ワッチョイ 4690-NoMX)
2024/01/06(土) 20:39:07.75ID:R3OUyaI0098デフォルトの名無しさん (ワッチョイ b175-jLm+)
2024/01/06(土) 21:58:55.80ID:TtodDVSd0 "" in ""
99デフォルトの名無しさん (ワッチョイ 5f24-JApz)
2024/01/07(日) 02:32:16.08ID:AyQnYcYI0100デフォルトの名無しさん (ワッチョイ ff9b-5x1m)
2024/01/07(日) 06:43:26.45ID:OFj05X8E0 https://docs.python.org/ja/3.12/reference/expressions.html#membership-test-operations
__contains__の実装次第でどうにでもなるから深く考えない方がいい
文字列の場合はsubstringと決めただけ
__contains__の実装次第でどうにでもなるから深く考えない方がいい
文字列の場合はsubstringと決めただけ
101デフォルトの名無しさん (ワッチョイ 5f54-RBu5)
2024/01/07(日) 11:02:41.98ID:D2Jhfkux0 文字列だと「なにもない」を部分であるとみなして、
集合は「なにもない」は部分ではないとする
わざわざそうするのは、こういう処理の時にシンプルに書けて合理的でしょ
という例が思い浮かばないんだよな
集合は「なにもない」は部分ではないとする
わざわざそうするのは、こういう処理の時にシンプルに書けて合理的でしょ
という例が思い浮かばないんだよな
102デフォルトの名無しさん (オッペケ Srb3-BDiM)
2024/01/07(日) 11:50:59.18ID:UlWxidQqr 馬鹿だから分からないだけ
103デフォルトの名無しさん (オッペケ Srb3-BDiM)
2024/01/07(日) 11:54:53.69ID:UlWxidQqr 1文字が含まれるかどうか調べるときは1文字でin演算すればいい
部分列を高速に検索かけられる分できること増えてるだけじゃん
言語仕様に文句を言っていいのは、不必要に文法を複雑にしてるor性能を落としてるときだ
文字列検索ほど頻出なものに不平を言うのは想像力も経験も知恵も足りてないだけ
部分列を高速に検索かけられる分できること増えてるだけじゃん
言語仕様に文句を言っていいのは、不必要に文法を複雑にしてるor性能を落としてるときだ
文字列検索ほど頻出なものに不平を言うのは想像力も経験も知恵も足りてないだけ
104デフォルトの名無しさん (ワッチョイ 5f54-RBu5)
2024/01/07(日) 12:09:13.58ID:D2Jhfkux0 つまり、変なのは判ってるし、本当はFalseを返したかったけど、
アルゴリズム的にTrueにした方が高速に検索できるということかな
空で検索するのって、そんなにコストかかるか?
最初にFalseで落とすだけな気がするけど
アルゴリズム的にTrueにした方が高速に検索できるということかな
空で検索するのって、そんなにコストかかるか?
最初にFalseで落とすだけな気がするけど
105デフォルトの名無しさん (オッペケ Srb3-BDiM)
2024/01/07(日) 12:14:01.04ID:wa10GErKr リストや文字列の+、 *は、数の+、*と動きが全くちゃうでしょ
でも同じ演算子を使う
inの動きが変わるのも、それと実装の仕組みは同じ
+、*は盲目で受け入れてこれには文句言うのは、君にプログラミングの才能がない証拠
でも同じ演算子を使う
inの動きが変わるのも、それと実装の仕組みは同じ
+、*は盲目で受け入れてこれには文句言うのは、君にプログラミングの才能がない証拠
106デフォルトの名無しさん (ワッチョイ 5f54-RBu5)
2024/01/07(日) 12:17:51.58ID:D2Jhfkux0 話を逸らすなよ
コストはかかるのか?
コストはかかるのか?
107デフォルトの名無しさん (ワッチョイ ff9b-5x1m)
2024/01/07(日) 12:24:13.06ID:OFj05X8E0 え、こわい
> つまり、変なのは判ってるし
ここが盲目的ってことよ
> つまり、変なのは判ってるし
ここが盲目的ってことよ
108デフォルトの名無しさん (オッペケ Srb3-BDiM)
2024/01/07(日) 12:28:34.29ID:wa10GErKr その質問が、もう頭悪い
'' in 任意の文字列 は君の定義なら常にFalseでPythonの定義なら常にTrueなんだからどっちでも計算量O(1)
文字列照合のアルゴリズム1つも知らないでしょ
周りがおかしいんじゃなく、自分がおかしいと気づいて
'' in 任意の文字列 は君の定義なら常にFalseでPythonの定義なら常にTrueなんだからどっちでも計算量O(1)
文字列照合のアルゴリズム1つも知らないでしょ
周りがおかしいんじゃなく、自分がおかしいと気づいて
109デフォルトの名無しさん (ワッチョイ 5f54-RBu5)
2024/01/07(日) 12:30:47.74ID:D2Jhfkux0 まあ、そんなのはどうでもよくて
ちゃんと意味があってそうなってるんだから
っぽいことを口々に言ってるけど、誰も具体的に説明しない
疑問を持ってはいけない信者にしか見えない
ちゃんと意味があってそうなってるんだから
っぽいことを口々に言ってるけど、誰も具体的に説明しない
疑問を持ってはいけない信者にしか見えない
110デフォルトの名無しさん (ワッチョイ dffe-OCIx)
2024/01/07(日) 12:57:44.19ID:sci9WlQL0 まず、''がどの文字列のsubstringでもあることは納得している?
111デフォルトの名無しさん (ワッチョイ df01-7oM0)
2024/01/07(日) 17:38:24.57ID:5+E3QIG90 >>84
workbook = app.Workbooks.Open(workbook_path)
workbook.VBProject.References.AddFromFile(library_path) #ライブラリ参照の追加
app.AddIns.Add(addin_path).Installed = True #アドインの追加
workbook = app.Workbooks.Open(workbook_path)
workbook.VBProject.References.AddFromFile(library_path) #ライブラリ参照の追加
app.AddIns.Add(addin_path).Installed = True #アドインの追加
112デフォルトの名無しさん (ワッチョイ ffcf-mfjK)
2024/01/07(日) 19:17:19.79ID:0B+dDN0v0 >>109
ヒント出してる人はいるだろ。疑問を持っちゃいけないってんじゃなくて自分で考えてほしいんだよ。
ヒント出してる人はいるだろ。疑問を持っちゃいけないってんじゃなくて自分で考えてほしいんだよ。
113デフォルトの名無しさん (ワッチョイ 5f54-RBu5)
2024/01/07(日) 19:57:16.52ID:D2Jhfkux0 print([] < ['a', 'b', 'c'])
print(set() < {'a', 'b', 'c'})
これはどちらもTrue
存在と包含は区別されている
文字列に対しては、部分文字列が存在するか、ではなく
部分文字列が包含されているか、という判断になっている
数学では、空集合は全ての全ての集合の部分集合と定義されている
pythonはそれを何の気なしに真似しただけで、
コーディング上のメリットは多分ない
print(set() < {'a', 'b', 'c'})
これはどちらもTrue
存在と包含は区別されている
文字列に対しては、部分文字列が存在するか、ではなく
部分文字列が包含されているか、という判断になっている
数学では、空集合は全ての全ての集合の部分集合と定義されている
pythonはそれを何の気なしに真似しただけで、
コーディング上のメリットは多分ない
114デフォルトの名無しさん (ワッチョイ dff0-19ip)
2024/01/07(日) 22:07:49.51ID:TwcVJJcj0 家にあるバームクーヘン捨てた方が良い?
このままだと全部食ってしまう
ゴミ箱に入れて捨ててきた方が良いかな
痩せたいんだ
このままだと全部食ってしまう
ゴミ箱に入れて捨ててきた方が良いかな
痩せたいんだ
115デフォルトの名無しさん (ワッチョイ dff0-19ip)
2024/01/07(日) 22:20:39.09ID:TwcVJJcj0 間違い
116デフォルトの名無しさん (オッペケ Srb3-BDiM)
2024/01/08(月) 01:26:32.88ID:AMrdn5qYr117デフォルトの名無しさん (オッペケ Srb3-BDiM)
2024/01/08(月) 01:47:28.12ID:+d9aYMzGr 何故 'abc' でforループ回して出てくる 'a' でさらにforループ回せることは気にならなかったのかな。
for c in 'a':
print(c)
って書いてみな
その考えで言うとまず 'a' in 'abc' が判定できる時点でおかしいはず
'a'が配列なんだからね
君は論理的思考が苦手。論理的な人が文句をいうならそこに気付くはず
初心者が間違った思い込みを持って、現実で痛い目見てベソをかいてるだけ
for c in 'a':
print(c)
って書いてみな
その考えで言うとまず 'a' in 'abc' が判定できる時点でおかしいはず
'a'が配列なんだからね
君は論理的思考が苦手。論理的な人が文句をいうならそこに気付くはず
初心者が間違った思い込みを持って、現実で痛い目見てベソをかいてるだけ
118デフォルトの名無しさん (ワッチョイ 5f46-vxeA)
2024/01/09(火) 18:33:15.79ID:Vu9b1JtR0 2は、シバン(1行目)をどう記述するといいの?
1 実行できる。(前提)
$ cat hello.py
#!/usr/bin/python3
print('こんにちは')
$ ./hello.py
こんにちは
2 エラーになる。但しコマンドラインからは実行できる。
$ cat trace.py
#!/usr/bin/python3 -m trace --trace
print('こんにちは')
$ ./trace.py
/usr/bin/python3: No module named trace --trace
$ /usr/bin/python3 -m trace --trace trace.py
こんにちは
$
1 実行できる。(前提)
$ cat hello.py
#!/usr/bin/python3
print('こんにちは')
$ ./hello.py
こんにちは
2 エラーになる。但しコマンドラインからは実行できる。
$ cat trace.py
#!/usr/bin/python3 -m trace --trace
print('こんにちは')
$ ./trace.py
/usr/bin/python3: No module named trace --trace
$ /usr/bin/python3 -m trace --trace trace.py
こんにちは
$
119デフォルトの名無しさん (スプッッ Sdf3-FygF)
2024/01/09(火) 18:44:05.47ID:0U/diL1hd shebang行は引数を1つしか取れない仕様なので無理
なんかenv -Sを使うとできるらしいけどこれは裏技だろ
https://stackoverflow.com/questions/16549357/is-it-possible-to-include-command-line-options-in-the-python-shebang
なんかenv -Sを使うとできるらしいけどこれは裏技だろ
https://stackoverflow.com/questions/16549357/is-it-possible-to-include-command-line-options-in-the-python-shebang
120デフォルトの名無しさん (ワッチョイ 5f46-vxeA)
2024/01/09(火) 20:16:21.36ID:Vu9b1JtR0 >>119
なるほど。ありまとう。
$ ./env-s.py
--- modulename: env-s, funcname: <module>
env-s.py(3): print('おはよう')
おはよう
$ head -1 env-s.py
#!/usr/bin/env -S /usr/bin/python3 -m trace --trace
なるほど。ありまとう。
$ ./env-s.py
--- modulename: env-s, funcname: <module>
env-s.py(3): print('おはよう')
おはよう
$ head -1 env-s.py
#!/usr/bin/env -S /usr/bin/python3 -m trace --trace
121デフォルトの名無しさん (オイコラミネオ MMd3-iwr3)
2024/01/09(火) 22:56:04.87ID:yAWwPWIFM122デフォルトの名無しさん (ワッチョイ ff16-CQ+T)
2024/01/10(水) 02:15:30.29ID:jb9etaSC0 もうちょっと具体的に例出して
サンプルがほしいなら適度に複雑なjsonファイルを読み込んでマッピングされた構造を見れば、Pythonコンテナ型を組み合わせたデータの参考になるかもね
サンプルがほしいなら適度に複雑なjsonファイルを読み込んでマッピングされた構造を見れば、Pythonコンテナ型を組み合わせたデータの参考になるかもね
123デフォルトの名無しさん (ワッチョイ 5f26-dvWY)
2024/01/10(水) 20:03:25.99ID:1+rGKMzm0 /usr/bin/python3 を単に、python3 と書けないの?
WSL2, Linux なら、
Ruby は、anyenv で入れた
which ruby
/home/ユーザー名/.anyenv/envs/rbenv/shims/ruby
which python3
/usr/bin/python3
ファイルの形式
file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.6
file `which python`
/usr/bin/python: symbolic link to python2.7
file `which python2`
/usr/bin/python2: symbolic link to python2.7
file `which python3`
/usr/bin/python3: symbolic link to python3.6
readlink -f /usr/bin/python3
/usr/bin/python3.6
WSL2, Linux なら、
Ruby は、anyenv で入れた
which ruby
/home/ユーザー名/.anyenv/envs/rbenv/shims/ruby
which python3
/usr/bin/python3
ファイルの形式
file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.6
file `which python`
/usr/bin/python: symbolic link to python2.7
file `which python2`
/usr/bin/python2: symbolic link to python2.7
file `which python3`
/usr/bin/python3: symbolic link to python3.6
readlink -f /usr/bin/python3
/usr/bin/python3.6
124118 (ワッチョイ ff2a-vxeA)
2024/01/10(水) 21:28:20.35ID:tkcC6j/f0 >>123
書けない。
$ head -1 seabang.py
#!python3 -m trace --trace
$ ./seabang.py
bash: ./seabang.py: 実行できません: 必要なファイルがありません
またコマンドラインで、
> $ /usr/bin/python3 -m trace --trace trace.py
と敢えてフルパスで書いたのは、コマンドサーチパスによって、
/usr/local/bin/python3 や、
/opt/bin/python3 をつかまされたのでなく、
> #!/usr/bin/python3 -m trace --trace
と同じものである事を明示した。
書けない。
$ head -1 seabang.py
#!python3 -m trace --trace
$ ./seabang.py
bash: ./seabang.py: 実行できません: 必要なファイルがありません
またコマンドラインで、
> $ /usr/bin/python3 -m trace --trace trace.py
と敢えてフルパスで書いたのは、コマンドサーチパスによって、
/usr/local/bin/python3 や、
/opt/bin/python3 をつかまされたのでなく、
> #!/usr/bin/python3 -m trace --trace
と同じものである事を明示した。
125デフォルトの名無しさん (ワッチョイ ffec-NF1f)
2024/01/12(金) 13:04:31.27ID:tRoUC1RJ0 あの言語が初の2023年「プログラミング言語オブザイヤー」に TIOBE指標
https://asahi.5ch.net/test/read.cgi/newsplus/1705030870/
https://asahi.5ch.net/test/read.cgi/newsplus/1705030870/
126デフォルトの名無しさん (ワッチョイ 5f54-RBu5)
2024/01/12(金) 16:14:20.07ID:X3Et3NVj0 さすあの言語
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
