↑スレ立てる毎に減るので、減ってたら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のお勉強 Part70
https://mevius.5ch.net/test/read.cgi/tech/1677856680/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
Pythonのお勉強 Part71
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cffb-p/wP)
2023/09/20(水) 09:13:41.41ID:u6xixiUt0206デフォルトの名無しさん (ワッチョイ 2585-2pcI)
2023/09/30(土) 23:55:19.79ID:JXMtOmCl0 そういう事もしたりしてたけど、インプットがexcelファイルのみでファイルによってはデータにプロテクトかかってたりしてたから
結局VBAで処理するのが楽なんだろうなって感じでした
結局VBAで処理するのが楽なんだろうなって感じでした
207デフォルトの名無しさん (ワッチョイ cbfb-pXm+)
2023/10/01(日) 00:53:30.98ID:P28FwVlb0 マクロもパスワードロックして自分以外編集できないようにするのって大切よな
Pythonだと丸見えで編集されて動かなくなる件
Pythonだと丸見えで編集されて動かなくなる件
208デフォルトの名無しさん (ワッチョイ 1bbd-o1LZ)
2023/10/01(日) 02:02:26.24ID:+M66ZcTD0 半年もすればPython in Excelで書くのが当たり前になってそう
209デフォルトの名無しさん (ワッチョイ 2546-Q3QL)
2023/10/01(日) 09:45:50.70ID:sO86DvxC0 >>208
VBAは出来ないことが大杉だからね、クラス継承とか。
VBAは出来ないことが大杉だからね、クラス継承とか。
210デフォルトの名無しさん (ワッチョイ 2dc1-NV1v)
2023/10/01(日) 12:17:25.51ID:bcUAnMXT0 Python in Excelあっても全部任せられるわけじゃないんしょ
211デフォルトの名無しさん (ワッチョイ 2d2e-2aFX)
2023/10/01(日) 12:23:49.16ID:vEz6IuND0 あんま組み込んでもファイルをヒトにわたせんからな
212デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/01(日) 12:24:20.33ID:n0Tp64cO0 セルに関数書く代わりにpythonで書くみたいな感じでしょ
マクロを置き換えるものではなかったような
マクロを置き換えるものではなかったような
213デフォルトの名無しさん (ワッチョイ 051b-voBv)
2023/10/01(日) 12:58:36.47ID:SOIhx71S0 いつの間にかVisual Pythonになって更にVisual Python.NETになる
214デフォルトの名無しさん (ワッチョイ e317-cP1N)
2023/10/01(日) 13:33:03.77ID:o43+uB+s0 VBAは有償の開発ツールでも使わないとテストランナーもなければバージョンコントロールもめちゃくちゃやりにくい
Visual Studio使ってるならExcel-DNAやVSTO使ってなるべくVBAの量を減らしたほうが開発効率的に保守性的にも断然いいよ
ExcelをGUIをインタラクティブに使う必要がなくて入力データとして使うだけならPythonでも充分
Visual Studio使ってるならExcel-DNAやVSTO使ってなるべくVBAの量を減らしたほうが開発効率的に保守性的にも断然いいよ
ExcelをGUIをインタラクティブに使う必要がなくて入力データとして使うだけならPythonでも充分
215デフォルトの名無しさん (アウアウウー Sa89-pXm+)
2023/10/01(日) 14:01:56.09ID:72iWkL15a パネルビューの信頼性と選択問題についてちょっと考えてみた
多分おおよそこんな感じだとおもう
若いほうがいいか、BBAがいいかはプロパティで編集する必要がある
https://i.imgur.com/lmD54ET.png
多分おおよそこんな感じだとおもう
若いほうがいいか、BBAがいいかはプロパティで編集する必要がある
https://i.imgur.com/lmD54ET.png
216デフォルトの名無しさん (アウアウウー Sa89-pXm+)
2023/10/01(日) 14:02:04.25ID:72iWkL15a パネルビューの信頼性と選択問題についてちょっと考えてみた
多分おおよそこんな感じだとおもう
若いほうがいいか、BBAがいいかはプロパティで編集する必要がある
https://i.imgur.com/lmD54ET.png
多分おおよそこんな感じだとおもう
若いほうがいいか、BBAがいいかはプロパティで編集する必要がある
https://i.imgur.com/lmD54ET.png
217デフォルトの名無しさん (アウアウウー Sa89-pXm+)
2023/10/01(日) 14:02:28.46ID:72iWkL15a パネルビューの信頼性と選択問題についてちょっと考えてみた
多分おおよそこんな感じだとおもう
若いほうがいいか、BBAがいいかはプロパティで編集する必要がある
https://i.imgur.com/lmD54ET.png
多分おおよそこんな感じだとおもう
若いほうがいいか、BBAがいいかはプロパティで編集する必要がある
https://i.imgur.com/lmD54ET.png
218デフォルトの名無しさん (ワッチョイ 4b9e-AYcZ)
2023/10/01(日) 14:50:51.48ID:SyN7rZqG0 >>213
IronPythonはどうなる?
IronPythonはどうなる?
219デフォルトの名無しさん (ワッチョイ 7505-jiCb)
2023/10/01(日) 18:59:05.62ID:PNwI3bEh0 IronPythonといえばJythonどうなったんだっけ?
220デフォルトの名無しさん (ワッチョイ 9b02-baYP)
2023/10/02(月) 16:48:55.66ID:YC0PCAgZ0 「UTF-8でエンコードされたバイト列」の文字列を、バイト列として扱い、
そのバイト列をデコードした結果を得たい、と思ってます
たとえば「鈴木」という文字列をUTF-8にエンコードすると
print("鈴木".encode("utf-8"))
b'\xe9\x88\xb4\xe6\x9c\xa8'
こんな風になるかと思います
ここで、文字列として"\xe9\x88\xb4\xe6\x9c\xa8"を用意し、
それをバイト列として扱ってデコードした結果である「鈴木」を、
変数resultに格納するための方法を教えてください
print(b"\xe9\x88\xb4\xe6\x9c\xa8".decode("utf-8"))
と、頭に「b」を置いて文字列を直接続ければ表示はできることは分かったのですが、
こうではなく、文字列は変数strとして与えたいです
str = "\xe9\x88\xb4\xe6\x9c\xa8"
result = bytes(str).decode("utf-8")
等とやってみましたが、うまくいきませんでした
そのバイト列をデコードした結果を得たい、と思ってます
たとえば「鈴木」という文字列をUTF-8にエンコードすると
print("鈴木".encode("utf-8"))
b'\xe9\x88\xb4\xe6\x9c\xa8'
こんな風になるかと思います
ここで、文字列として"\xe9\x88\xb4\xe6\x9c\xa8"を用意し、
それをバイト列として扱ってデコードした結果である「鈴木」を、
変数resultに格納するための方法を教えてください
print(b"\xe9\x88\xb4\xe6\x9c\xa8".decode("utf-8"))
と、頭に「b」を置いて文字列を直接続ければ表示はできることは分かったのですが、
こうではなく、文字列は変数strとして与えたいです
str = "\xe9\x88\xb4\xe6\x9c\xa8"
result = bytes(str).decode("utf-8")
等とやってみましたが、うまくいきませんでした
221デフォルトの名無しさん (アウアウウー Sa89-pXm+)
2023/10/02(月) 17:15:45.40ID:KwMtPnpga222デフォルトの名無しさん (ワッチョイ 9b02-baYP)
2023/10/02(月) 17:32:06.38ID:YC0PCAgZ0 >>221
回答ありがとうございます
この場合、変数bは「b"\xe9\x88\xb4\xe6\x9c\xa8"」と表現される
バイト列になっているので、そのままデコードできるのだと認識してます
説明が難しくて申し訳ないのですが、
変数bが「"\xe9\x88\xb4\xe6\x9c\xa8"」という、頭にbのつかないテキストの
文字列となっており、その文字列を、バイト列に変換するか何かして、
UTF-8としてデコードした結果を得たいと思ってます
回答ありがとうございます
この場合、変数bは「b"\xe9\x88\xb4\xe6\x9c\xa8"」と表現される
バイト列になっているので、そのままデコードできるのだと認識してます
説明が難しくて申し訳ないのですが、
変数bが「"\xe9\x88\xb4\xe6\x9c\xa8"」という、頭にbのつかないテキストの
文字列となっており、その文字列を、バイト列に変換するか何かして、
UTF-8としてデコードした結果を得たいと思ってます
223デフォルトの名無しさん (ワッチョイ cb7b-p502)
2023/10/02(月) 17:55:59.56ID:1Dl/aSKe0 print(str.encode('latin-1').decode("utf-8"))
224デフォルトの名無しさん (ワッチョイ 25a6-wXmr)
2023/10/02(月) 18:29:10.08ID:h+g/GQYs0225デフォルトの名無しさん (ワッチョイ 9b02-baYP)
2023/10/02(月) 18:43:27.99ID:YC0PCAgZ0226デフォルトの名無しさん (ワッチョイ 9b90-AvD6)
2023/10/02(月) 18:44:51.23ID:FS0/fzQ10 >>220
こんな感じ?
import binascii
name = '鈴木'
bin = name.encode('utf-8') # utf-8のエンコード
binstr = bin.hex() # binの文字列化
bin2 = binascii.unhexlify(binstr) # bytesに
name2 = bin2.decode('utf-8')
print(name2)
こんな感じ?
import binascii
name = '鈴木'
bin = name.encode('utf-8') # utf-8のエンコード
binstr = bin.hex() # binの文字列化
bin2 = binascii.unhexlify(binstr) # bytesに
name2 = bin2.decode('utf-8')
print(name2)
227デフォルトの名無しさん (ワッチョイ eb01-JbMN)
2023/10/02(月) 18:54:23.88ID:k2BlTluO0 自分のコード内でencode(‘utf8’)してるのなら
byteオブジェクトを持ち回るか最初からfromhex()で読める形のstrにしておく
string = “鈴木”.encode(‘utf8’).hex()
bytes.fromhex(string).decode(‘utf8’)でok
外部のファイルとかに\xで記載されてるものなら
読み込んだ時に\\xになるのでreplaceしてやればok
byteオブジェクトを持ち回るか最初からfromhex()で読める形のstrにしておく
string = “鈴木”.encode(‘utf8’).hex()
bytes.fromhex(string).decode(‘utf8’)でok
外部のファイルとかに\xで記載されてるものなら
読み込んだ時に\\xになるのでreplaceしてやればok
228デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/03(火) 11:47:59.45ID:QaeBAOHSa229デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/03(火) 12:18:33.94ID:XmURfba80 input.txt
\xe9\x88\xb4\xe6\x9c\xa8
f = open('input.txt')
str = f.read()
こういう話だと思って見てたけど
\xe9\x88\xb4\xe6\x9c\xa8
f = open('input.txt')
str = f.read()
こういう話だと思って見てたけど
230デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/03(火) 13:19:39.91ID:QaeBAOHSa >>229
>>> str = r'\xe9\x88\xb4\xe6\x9c\xa8'
>>> bytes(ord(c) for c in bytes(ord(c) for c in str).decode('unicode-escape')).decode('utf-8')
'鈴木'
>>> str = r'\xe9\x88\xb4\xe6\x9c\xa8'
>>> bytes(ord(c) for c in bytes(ord(c) for c in str).decode('unicode-escape')).decode('utf-8')
'鈴木'
231デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/03(火) 13:25:10.14ID:QaeBAOHSa >>223 使うならこれでもok
>>> str = r'\xe9\x88\xb4\xe6\x9c\xa8'
>>> str.encode('latin-1').decode('unicode-escape').encode('latin-1').decode('utf-8')
'鈴木'
>>> str = r'\xe9\x88\xb4\xe6\x9c\xa8'
>>> str.encode('latin-1').decode('unicode-escape').encode('latin-1').decode('utf-8')
'鈴木'
232デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/03(火) 14:02:33.32ID:XmURfba80 unicode escapeじゃないやん
ただの2桁十六進数やん
ただの2桁十六進数やん
233デフォルトの名無しさん (ワッチョイ 2dae-bCT0)
2023/10/03(火) 14:10:54.27ID:lqxRC9/W0234デフォルトの名無しさん (オイコラミネオ MMd1-kmCf)
2023/10/03(火) 14:40:19.82ID:ZtbTtZfzM235デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/03(火) 15:33:43.66ID:QaeBAOHSa >>232
\xe6\x84\x9fji\xe6\x82\xaai\xe3\x82\x88
\xe6\x84\x9fji\xe6\x82\xaai\xe3\x82\x88
236デフォルトの名無しさん (ワッチョイ 43c3-cP1N)
2023/10/03(火) 20:24:55.63ID:uE2hlhlx0 プログラム内にリテラルで\xhh形式の文字列を書くくらいなら最初から'鈴木'かb'\xe9\x88\xb4\xe6\x9c\xa8'で十分でしょ
わざわざ異なる文字列として解釈されうる値を書く意味がわからない
プログラムパズルとかそういう話なのかな?
わざわざ異なる文字列として解釈されうる値を書く意味がわからない
プログラムパズルとかそういう話なのかな?
237デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/03(火) 20:30:14.37ID:XmURfba80 > 変数bが「"\xe9\x88\xb4\xe6\x9c\xa8"」という、頭にbのつかないテキストの文字列となっており
というのは r"\xe9\x88\xb4\xe6\x9c\xa8" の意味だろうと
コードに埋め込む訳は無いので、ファイルなり通信なりで入力されるのだろうと
というのは r"\xe9\x88\xb4\xe6\x9c\xa8" の意味だろうと
コードに埋め込む訳は無いので、ファイルなり通信なりで入力されるのだろうと
238デフォルトの名無しさん (スッップ Sd43-IetE)
2023/10/03(火) 21:13:02.23ID:wlkvtDKRd239デフォルトの名無しさん (ワッチョイ 2db8-cP1N)
2023/10/03(火) 23:07:00.18ID:/3Vxa5Hd0240デフォルトの名無しさん (ワッチョイ 1b3e-o1LZ)
2023/10/03(火) 23:15:37.13ID:3QaR5cka0 いっそCodec自作するのがよい
241デフォルトの名無しさん (ワッチョイ 8501-IetE)
2023/10/04(水) 19:48:31.85ID:vlFi92ca0 matplotlibでファイルとかWebAggにグラフを書き出すとき、show()する度に過去のグラフの上に新しいグラフが追加されていくじゃないですか。
show()する度にウインドウをリフレッシュして新しいグラフだけ表示するようにしたいんですが、そのためには毎回show()のあとにclose()かclf()するしかないですかね?
matplotlibの設定か何かでshow()の後のcloseを強制化か自動化する方法があったらご教示ください。
show()する度にウインドウをリフレッシュして新しいグラフだけ表示するようにしたいんですが、そのためには毎回show()のあとにclose()かclf()するしかないですかね?
matplotlibの設定か何かでshow()の後のcloseを強制化か自動化する方法があったらご教示ください。
242デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/04(水) 20:10:48.56ID:PXW0isNe0 グラフはなんかどうやっても面倒で、
その原因は隅々まで人間が指定できてしまうことにあるので、
不自由だけど全部やってくれる系のが出るのを待ってる
その原因は隅々まで人間が指定できてしまうことにあるので、
不自由だけど全部やってくれる系のが出るのを待ってる
243デフォルトの名無しさん (アウアウクー MMa1-u01H)
2023/10/04(水) 23:28:39.66ID:q7y7rPWzM244デフォルトの名無しさん (ワッチョイ 25a7-Gac/)
2023/10/05(木) 01:09:23.57ID:2PZdepi20 ロジックをどのようにすれば以下のような処理を実現できるか悩んでいて、知恵を拝借したいです…
何か良い方法はないでしょうか?
【前提条件】
◯ある配列があり、先頭から順に1日に3件ずつ処理しています
◯その配列には辞書が格納されています。キーの一つに処理日付カラムがあり、最後に処理された日付が格納されています
◯配列の末尾に到達すると、処理対象は先頭に戻ります
【実現したいこと】
配列の中のある一つのインデックスを選んだ時、そのインデックスが示す辞書が次に処理される日付を求める
何か良い方法はないでしょうか?
【前提条件】
◯ある配列があり、先頭から順に1日に3件ずつ処理しています
◯その配列には辞書が格納されています。キーの一つに処理日付カラムがあり、最後に処理された日付が格納されています
◯配列の末尾に到達すると、処理対象は先頭に戻ります
【実現したいこと】
配列の中のある一つのインデックスを選んだ時、そのインデックスが示す辞書が次に処理される日付を求める
245デフォルトの名無しさん (アウアウクー MMa1-u01H)
2023/10/05(木) 01:46:17.44ID:XUo8TI11M 配列の長さが固定でないなら長さが変わる法則がわからないので計算しようがない
固定なら長さを3で割って書いてある日付に足すだけでは?
固定なら長さを3で割って書いてある日付に足すだけでは?
246デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
2023/10/05(木) 07:27:27.90ID:Q+rj3wnZM python3.11.1からpython3.12.0に更新したら追加したモジュールがないってエラーになるんですが
更新するたびにモジュール入れなおさないといけないのですか
更新するたびにモジュール入れなおさないといけないのですか
247デフォルトの名無しさん (ワッチョイ cb7b-p502)
2023/10/05(木) 09:03:11.32ID:nAkSGUCB0248244 (ワッチョイ 25a7-skpN)
2023/10/05(木) 09:37:49.75ID:2PZdepi20 配列の長さは固定としてよいのですが、長さを3で割って日付に足すやり方は配列の長さが3の倍数でないと使えないと思うんです。
249デフォルトの名無しさん (ワッチョイ 25a7-skpN)
2023/10/05(木) 09:41:08.11ID:2PZdepi20250デフォルトの名無しさん (ワッチョイ 25a7-skpN)
2023/10/05(木) 09:41:08.94ID:2PZdepi20251デフォルトの名無しさん (ワッチョイ cb7b-p502)
2023/10/05(木) 09:52:04.06ID:nAkSGUCB0 >>250
格納するための配列が1つで、最大格納数が設定されてるって事ね?
格納する時の辞書を{‘day’:day,’contents’:[contentsA,contentsB,contentsC]}
みたいにしたらあかんの?
もしくは配列のmax数を3の倍数にしとくか。
max数が3の倍数にできなくても指定したインデックスの前後2つずつ調べれば済むだけだと思うけど。
格納するための配列が1つで、最大格納数が設定されてるって事ね?
格納する時の辞書を{‘day’:day,’contents’:[contentsA,contentsB,contentsC]}
みたいにしたらあかんの?
もしくは配列のmax数を3の倍数にしとくか。
max数が3の倍数にできなくても指定したインデックスの前後2つずつ調べれば済むだけだと思うけど。
252デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/05(木) 09:54:53.37ID:R2cxF7x40 3を固定にしないでいくつでもいいけど実際は3でしか使わない
という設計がいい
という設計がいい
253デフォルトの名無しさん (アウアウアー Sa2b-1W5y)
2023/10/05(木) 10:25:35.56ID:MScw1o+3a >>249
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
254デフォルトの名無しさん (アウアウアー Sa2b-1W5y)
2023/10/05(木) 10:25:53.00ID:MScw1o+3a >>249
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
3×日数を配列の長さで割れば、ある日付けにどこを読んでいるかが計算できる
なので前回読まれた時にその日の処理の中で0番目1番目2番目のどれだったのか記録しておけば直接計算できる
あるいは配列の2つ前までが前回処理された日付を読んでもいい
Pythonの問題とかじゃなくて算数の問題じゃないか?
配列の長さがNとしたら3N日ごとに全く同じパターンが繰り返されるから、最初に3N日分計算すれば永遠に同じパターンが使える
上のやり方や3で割った余りで分類する関数を書いてもいいが最初に計算するパターンのほうがミスりづらいので俺ならこっちで書きそう
255デフォルトの名無しさん (アウアウアー Sa2b-1W5y)
2023/10/05(木) 10:35:41.65ID:MScw1o+3a それプログラミングじゃなくて算数の問題だからプログラミングのお題スレとかに書くと喜ばれるよ
dictのまま書くなら2つ前までの要素がいつ処理されたのかを読んで余りで処理するしかないけどめんどいから常人はやらない
辞書を継承した自作クラスにして前回どこを読んだかのカウンターを付ける
これで次回読まれるのがいつかが計算できる
dictのまま書くなら2つ前までの要素がいつ処理されたのかを読んで余りで処理するしかないけどめんどいから常人はやらない
辞書を継承した自作クラスにして前回どこを読んだかのカウンターを付ける
これで次回読まれるのがいつかが計算できる
256デフォルトの名無しさん (ワッチョイ 9b90-AvD6)
2023/10/05(木) 11:58:22.11ID:1QWCM3G80257デフォルトの名無しさん (ワッチョイ 9b90-AvD6)
2023/10/05(木) 12:04:19.81ID:1QWCM3G80 それか
for i in range(start_idx, start_idx+3):
if i>=len(list_x): i -= len(list_x)
~本処理~
for i in range(start_idx, start_idx+3):
if i>=len(list_x): i -= len(list_x)
~本処理~
258デフォルトの名無しさん (ワッチョイ 0d54-XGbB)
2023/10/05(木) 12:10:07.58ID:R2cxF7x40 do whileが無いので、代わりに無限ループにしておいて、
whileの条件が成立しなかったらbreakで抜けるというのが標準の書き方だけど、
やっぱり低級に見える
whileの条件が成立しなかったらbreakで抜けるというのが標準の書き方だけど、
やっぱり低級に見える
259デフォルトの名無しさん (ワッチョイ 2361-tvb5)
2023/10/05(木) 13:24:00.30ID:Rw+E7y8Y0 >>246
pythonはマイナーバージョン毎に共存できるようになってるのだから入れ直すというか新たにモジュール入れてやらないとだめ
pythonはマイナーバージョン毎に共存できるようになってるのだから入れ直すというか新たにモジュール入れてやらないとだめ
260デフォルトの名無しさん (ワッチョイ eb01-JbMN)
2023/10/05(木) 18:46:58.77ID:ZQpyEfNY0 >>244
学校の宿題とかパズルとかならいいんだけど
現実のシステムだと変更に弱くなるから
最後に実行された日付に不必要に依存すべきでないと思う
次はどのインデックス位置からいつ処理を実行するのかといった進捗状態を
配列とは別に保存しておいてそれをもとに計算したほうがいい
イテレータと同じイメージ
学校の宿題とかパズルとかならいいんだけど
現実のシステムだと変更に弱くなるから
最後に実行された日付に不必要に依存すべきでないと思う
次はどのインデックス位置からいつ処理を実行するのかといった進捗状態を
配列とは別に保存しておいてそれをもとに計算したほうがいい
イテレータと同じイメージ
261デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
2023/10/05(木) 20:25:01.10ID:86J8E1XoM262デフォルトの名無しさん (オイコラミネオ MMd1-VEJP)
2023/10/05(木) 20:28:43.13ID:86J8E1XoM pip freezeでパッケージの一覧を作成できるのか
色々導入していたわ
色々導入していたわ
263デフォルトの名無しさん (アウアウウー Sa89-5C2y)
2023/10/06(金) 10:15:56.07ID:Zl0hPCVya なんで特定のバージョンに依存する描き方をしたがるんだろ
264デフォルトの名無しさん (ワッチョイ e3ff-uznD)
2023/10/06(金) 16:14:40.86ID:IoTyA8+w0 >>263
これどういうこと?
これどういうこと?
265デフォルトの名無しさん (ワッチョイ 25b1-iVkM)
2023/10/06(金) 19:45:56.36ID:1GaBjHDa0 dockerとかrequirements.txtとか再現性高めようとすると
必然的に特定のバージョンに依存するような書き方になると思うのだが。
最新バージョンで過去のバージョンの描き方してる、とかいう元も子もない前提条件なら知らんけど
必然的に特定のバージョンに依存するような書き方になると思うのだが。
最新バージョンで過去のバージョンの描き方してる、とかいう元も子もない前提条件なら知らんけど
266デフォルトの名無しさん (ワッチョイ 8501-IetE)
2023/10/06(金) 22:02:44.19ID:fyVU6Crm0 >>243
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
267デフォルトの名無しさん (ワッチョイ 8501-IetE)
2023/10/06(金) 22:02:55.99ID:fyVU6Crm0 >>243
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
そのポリシーに賛同するかどうかはともかく、質問への回答にはなっていない
268デフォルトの名無しさん (クスマテ MM7e-RHqV)
2023/10/07(土) 00:23:30.85ID:BGf9xocdM func( *l if a else l )
条件分岐で
*l と l
渡せると思ってたら
func( *(l if a else l) )
だった
親lがリストのときは*lで
親lがリスト以外のときは[l]
ってやりたいときこれでいいのかな
def func(*args):
print( list(*args) )
l=[{"a":1},{"b":2},{"c":3}]#[["a",1],["b",2]]
#l={"d":4}
func(*(l if isinstance(l,list) else [l]) )
#[{'a': 1}, {'b': 2}, {'c': 3}]
#[{'d': 4}]
条件分岐で
*l と l
渡せると思ってたら
func( *(l if a else l) )
だった
親lがリストのときは*lで
親lがリスト以外のときは[l]
ってやりたいときこれでいいのかな
def func(*args):
print( list(*args) )
l=[{"a":1},{"b":2},{"c":3}]#[["a",1],["b",2]]
#l={"d":4}
func(*(l if isinstance(l,list) else [l]) )
#[{'a': 1}, {'b': 2}, {'c': 3}]
#[{'d': 4}]
269デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/07(土) 00:26:09.11ID:sH3Ijf0D0 typeを使うのでは
270デフォルトの名無しさん (ワッチョイ 6e41-GmSQ)
2023/10/07(土) 02:03:39.77ID:RYTHxcGi0 では、とは?
271デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/08(日) 10:38:55.23ID:CrdCteTPa あるいは func(*l) if isinstance(l, list) else func(l)
あるいは func(*l) if type(l) is list else func(l)
あるいは func(*l) if type(l) is list else func(l)
272デフォルトの名無しさん (ワッチョイ 5a7a-b2+y)
2023/10/08(日) 13:04:34.27ID:DaqKIDwO0 func if func的に2度func書くメリットがいまいちわからん
273デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/08(日) 13:16:17.82ID:+xSVm5Mx0 三項演算子だからでは
274デフォルトの名無しさん (ワッチョイ 7646-ToyC)
2023/10/08(日) 13:40:38.67ID:RkxvDOHc0 Pythonの三項演算子カコワルイ
C言語とかの方がパッと見て解りやすい。
(isinstance(l, list)) ? func(*l) : func(l) ;
C言語とかの方がパッと見て解りやすい。
(isinstance(l, list)) ? func(*l) : func(l) ;
275デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/08(日) 13:52:37.91ID:+xSVm5Mx0 コロンにそうでなければ、という意味を持たせる文化圏は無い
276デフォルトの名無しさん (ワッチョイ da34-nQLp)
2023/10/08(日) 14:06:28.33ID:KpUyeA1F0 funcに返り値があったとして
f = func if func
f["res"]
# or
res = ( func if func )["res"]
またfunc内に引数分岐処理を隠蔽できる可能性を残したとして
func if func的に2度func書くメリットがいまいちわからん
f = func if func
f["res"]
# or
res = ( func if func )["res"]
またfunc内に引数分岐処理を隠蔽できる可能性を残したとして
func if func的に2度func書くメリットがいまいちわからん
277デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/08(日) 14:47:59.95ID:CrdCteTPa278デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/08(日) 14:54:32.17ID:CrdCteTPa >>276 みたいなのがいるから
true のときの func と false のときの func が常に同じことが確実な場合
tri(isinstance(l, list), func, (*l), (l))
でも良いが
true のときの func と false のときの func が常に同じことが確実な場合
tri(isinstance(l, list), func, (*l), (l))
でも良いが
279デフォルトの名無しさん (ワッチョイ aeda-XtdT)
2023/10/08(日) 15:02:00.39ID:kixUsqHh0 値を返せるifを追加してくれる方がうれしいわ
実装は関数のシンタックスシュガー
実装は関数のシンタックスシュガー
280デフォルトの名無しさん (ワッチョイ d50a-wTou)
2023/10/08(日) 16:02:51.80ID:J25crwC10 値を返せるifって例えばなんですか
281デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/08(日) 16:17:18.80ID:+xSVm5Mx0 むしろ値を返す方が主流だろうに
282デフォルトの名無しさん (ワッチョイ cd01-AeST)
2023/10/08(日) 16:57:27.95ID:Er3q4bv00 同じ関数を呼ぶのにアンパックするかしないかの条件分岐をさせるのは
あまり筋がよくないように感じるんだけど俺だけかな?
あまり筋がよくないように感じるんだけど俺だけかな?
283デフォルトの名無しさん (ワッチョイ 7646-ToyC)
2023/10/08(日) 17:44:40.59ID:RkxvDOHc0284デフォルトの名無しさん (ワッチョイ 76cf-GYY9)
2023/10/08(日) 18:05:22.35ID:wK2D7Ptr0 >>279
で、できたのが今の python の三項演算子
で、できたのが今の python の三項演算子
285デフォルトの名無しさん (ワッチョイ 0d01-wavJ)
2023/10/08(日) 18:54:48.99ID:e0NfdHuO0286デフォルトの名無しさん (ワッチョイ 46f1-WjDx)
2023/10/09(月) 00:17:46.66ID:XNvR9diB0 式か文かのお話
287デフォルトの名無しさん (ワッチョイ cd59-/0Ns)
2023/10/09(月) 13:00:29.46ID:T44TvStm0 printって
print(txt1,txt2,txt3)
って感じの仕様だけど
この仕様のメリットってなんなの?
t=[txt1,txt2,txt3]
print(*t)
みたいに書けて名前引数でもオプション設定できたりするくらい?
↑だとprintのソースコードは、def print(*values,,,option):な感じだけど
もしprintが
def print(values=[],option=,,,,**kwrgs):(valuesがlistか否かの処理)
みたいな仕様だったら実装上は
print([txt1,txt2,txt3],option)とかprint(txt1)
って書くことになる
個人的になんか見た目がダサいというか・・
単に好みの問題?
print(txt1,txt2,txt3)
って感じの仕様だけど
この仕様のメリットってなんなの?
t=[txt1,txt2,txt3]
print(*t)
みたいに書けて名前引数でもオプション設定できたりするくらい?
↑だとprintのソースコードは、def print(*values,,,option):な感じだけど
もしprintが
def print(values=[],option=,,,,**kwrgs):(valuesがlistか否かの処理)
みたいな仕様だったら実装上は
print([txt1,txt2,txt3],option)とかprint(txt1)
って書くことになる
個人的になんか見た目がダサいというか・・
単に好みの問題?
288デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/09(月) 13:50:57.64ID:3+LduzXw0 まあ、基本は一つだけprintだしな
スペースで区切っていくつも表示したいというデバッグ的な使い方で複数書くくらいでは
スペースで区切っていくつも表示したいというデバッグ的な使い方で複数書くくらいでは
289デフォルトの名無しさん (ワッチョイ 76cf-GYY9)
2023/10/09(月) 14:20:36.51ID:Xgju9ZEc0 print "result=", value
みたいにやってた流れだろ
みたいにやってた流れだろ
290デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/09(月) 15:08:30.25ID:gMk1hFfQa >>287
昔のPythonは()すら無かった
昔のPythonは()すら無かった
291デフォルトの名無しさん (アウアウウー Sa39-OOOs)
2023/10/09(月) 15:08:44.75ID:gMk1hFfQa >>287
昔のPythonのprintは()すら無かった
昔のPythonのprintは()すら無かった
292デフォルトの名無しさん (アウアウアー Sa7e-wavJ)
2023/10/09(月) 17:42:01.48ID:DsI96EBHa >>287
実際pprintの方は引数1個しか取れなかったりする
深い意味ないんじゃない?
printは人間に見やすくするためにあるものなので今の仕様が悪いとは思わない
カッコ一つ多く書かされたらめんどい。今の仕様の理由もそんなんだろ
実際pprintの方は引数1個しか取れなかったりする
深い意味ないんじゃない?
printは人間に見やすくするためにあるものなので今の仕様が悪いとは思わない
カッコ一つ多く書かされたらめんどい。今の仕様の理由もそんなんだろ
293デフォルトの名無しさん (ワッチョイ 8901-AeST)
2023/10/09(月) 22:00:24.57ID:XTD+q5nh0 print(), print(a), print(a, b, c)と
print([]), print([a]), print([a, b, c])とどっちがいいかという話
関数定義の*argsは可変長の引数を扱う場合に
使いやすくしたり読みやすくしたりするためにある
pprintは用途的に位置引数1つで妥当
print([]), print([a]), print([a, b, c])とどっちがいいかという話
関数定義の*argsは可変長の引数を扱う場合に
使いやすくしたり読みやすくしたりするためにある
pprintは用途的に位置引数1つで妥当
294デフォルトの名無しさん (ワッチョイ 9501-iRlq)
2023/10/10(火) 00:57:06.49ID:DfzpOsqL0 a = b = {}
みたいにしたらaとbは同一の辞書を指すじゃん?
aとbが別々の辞書を指すように一行で初期化できますか
みたいにしたらaとbは同一の辞書を指すじゃん?
aとbが別々の辞書を指すように一行で初期化できますか
295デフォルトの名無しさん (ワッチョイ fa5c-X2d3)
2023/10/10(火) 01:14:32.36ID:28KhUAam0 a, b = {}, {}
296デフォルトの名無しさん (ワッチョイ 9501-iRlq)
2023/10/10(火) 04:09:25.99ID:DfzpOsqL0297デフォルトの名無しさん (ワッチョイ e964-wavJ)
2023/10/10(火) 04:36:44.80ID:x5TUUmSg0 >>293
オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
位置引数1個しか取れないとしてもそれはそれで合理的ではある
逆にprintが可変長引数取れるならpprintが取れても良い
実際の使用例で便利だから引数いっぱい送れるってだけだろうな
オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
位置引数1個しか取れないとしてもそれはそれで合理的ではある
逆にprintが可変長引数取れるならpprintが取れても良い
実際の使用例で便利だから引数いっぱい送れるってだけだろうな
298デフォルトの名無しさん (ワッチョイ ae7b-OOOs)
2023/10/10(火) 23:14:31.83ID:SP1p/Ht00 Twitterで自動投稿しようと思って練習してます。
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
299デフォルトの名無しさん (ワッチョイ ae7b-OOOs)
2023/10/10(火) 23:31:40.21ID:SP1p/Ht00 Twitterで自動投稿しようと思って練習してます。
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
文字の投稿は成功したんだけど、画像の投稿ができません。
最近(10月)取得の無料APIでは1.1での画像アップロードはできないのでしょうか?
300デフォルトの名無しさん (ワッチョイ 2601-AeST)
2023/10/10(火) 23:46:10.35ID:x1soPZHV0 >>297
>オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
人間にわかる形に翻訳するのは各オブジェクトに定義されている__str__の役割
どういう文字列表現にするかはprintを呼び出す前から各オブジェクトごとにすでに決まっていてprintは関知しない
逆にpprintの場合はどういう文字列表現にするかを基本的にpprintが決めている
同じ型のオブジェクトでも異なる文字列表現が要求されることを前提とした用途なので
便利な状況が多いかどうかで仕様が決まるのはその通り
つまりprintは可変長の位置引数が取れたほうが便利な状況が多いが
pprintは可変長の位置引数が取れても便利な状況があまりないということ
>オブジェクトを人間にわかる形に翻訳して見せるのがprintの目的なんだから
人間にわかる形に翻訳するのは各オブジェクトに定義されている__str__の役割
どういう文字列表現にするかはprintを呼び出す前から各オブジェクトごとにすでに決まっていてprintは関知しない
逆にpprintの場合はどういう文字列表現にするかを基本的にpprintが決めている
同じ型のオブジェクトでも異なる文字列表現が要求されることを前提とした用途なので
便利な状況が多いかどうかで仕様が決まるのはその通り
つまりprintは可変長の位置引数が取れたほうが便利な状況が多いが
pprintは可変長の位置引数が取れても便利な状況があまりないということ
301デフォルトの名無しさん (ワッチョイ 5ae7-ZI+Z)
2023/10/11(水) 13:09:57.77ID:4b2h4etA0 話が別の方向行ってる気がする
print、pprintであろうがなかろうが
リスト指定できるときは可変長の方がよくねって話じゃないのか
hoge([a,b,c])
ではなく
hoge(a,b,c,,,)
hoge(*args)
リスト形式とか行列扱うときは基本
それ専用のオブジェクト渡すわけだし
#objはリストを持つ
hoge(obj)
つまりかなりざっくり言うと
hoge(list)、hoge([])
はダサい、みたいな
print、pprintであろうがなかろうが
リスト指定できるときは可変長の方がよくねって話じゃないのか
hoge([a,b,c])
ではなく
hoge(a,b,c,,,)
hoge(*args)
リスト形式とか行列扱うときは基本
それ専用のオブジェクト渡すわけだし
#objはリストを持つ
hoge(obj)
つまりかなりざっくり言うと
hoge(list)、hoge([])
はダサい、みたいな
302デフォルトの名無しさん (ワッチョイ ee01-AeST)
2023/10/11(水) 18:07:12.31ID:PDwzRB+80 >>301
>リスト指定できるときは可変長の方がよくねって話じゃないのか
リストを受け渡すところを全部可変長引数にしたら
様々な弊害が出るのはもちろんだが根本的に想定してる用途が違う
可変長引数はコレクションやコンテナにまとまった一連の要素ではなく
それぞれ独立した値を受け渡すことを主たる使い方として想定している
コレクションまるごと受け渡すのが基本的に想定してる用途なら可変長引数は使わない
>リスト指定できるときは可変長の方がよくねって話じゃないのか
リストを受け渡すところを全部可変長引数にしたら
様々な弊害が出るのはもちろんだが根本的に想定してる用途が違う
可変長引数はコレクションやコンテナにまとまった一連の要素ではなく
それぞれ独立した値を受け渡すことを主たる使い方として想定している
コレクションまるごと受け渡すのが基本的に想定してる用途なら可変長引数は使わない
303デフォルトの名無しさん (ワッチョイ 5a8a-DaTE)
2023/10/11(水) 18:19:00.12ID:pWrOFW+D0 >様々な弊害が出る
例えば・・?
例えば・・?
304デフォルトの名無しさん (ワッチョイ e964-wavJ)
2023/10/11(水) 18:43:03.61ID:5UtQ/lO50305デフォルトの名無しさん (ワッチョイ 0154-Y2ua)
2023/10/11(水) 18:55:29.16ID:5Z/moFAt0 文字列にするところまでは別の人で、それをどう表示するかがpprint
306デフォルトの名無しさん (アウアウウー Sa39-k2x6)
2023/10/11(水) 20:10:05.07ID:Jxad2l7za 例えばRoomクラスとUserやUserクラス作ったときに
Userクラスのメソッドで[user1,user2,user3,]渡せたり
RoomクラスにUserインスタンスのリストを渡せる仕様にしたとき
まとめて渡せるけどむしろ野暮ったく感じるのはおれだけだろうか
可変長引数を使わない場合
user1=User(ユーザー1)
users = []
users.append(user1)
room = Room(users)
#room.add_user(users)
↑ユーザーを渡していますよ、というより(ユーザーだけが格納された)コレクションを渡していますよという意味合いが強まってしまう、気がする。もちろんリストを渡さなければいいわけだがそれだとadd_usersなど複数形のときにはリスト渡そうね、といったアノテーションが増える。なんか野暮い
可変長引数を使う場合
user1=User(ユーザー1)
room = Room()
room.add_user(user1)
#room.add_user(user2,user3,,)
#users=[user4]#users.append(user5)
#room.add_user(*users)
↑ユーザー単体を渡している感が強まる、気がする。add_userで可変長引数使いたくないときはそもそもひとつしか渡さなければいいし、複数可は可変長引数をもったadd_usersにでも任せればいい(なければ使えないだけ)。渡された値の正否に集中できるので例外処理がシンプル
リスト渡したいときは、リストの各値の扱いがバラバラのとき、[int,str,obj1,obj2,,,]みたいなときくらいしか無いような気がするんだがそれだと、そもそも設計ミスのような。もちろん近くのコンビニに部屋着で行く感覚ならどうでもいいと思うけど
Userクラスのメソッドで[user1,user2,user3,]渡せたり
RoomクラスにUserインスタンスのリストを渡せる仕様にしたとき
まとめて渡せるけどむしろ野暮ったく感じるのはおれだけだろうか
可変長引数を使わない場合
user1=User(ユーザー1)
users = []
users.append(user1)
room = Room(users)
#room.add_user(users)
↑ユーザーを渡していますよ、というより(ユーザーだけが格納された)コレクションを渡していますよという意味合いが強まってしまう、気がする。もちろんリストを渡さなければいいわけだがそれだとadd_usersなど複数形のときにはリスト渡そうね、といったアノテーションが増える。なんか野暮い
可変長引数を使う場合
user1=User(ユーザー1)
room = Room()
room.add_user(user1)
#room.add_user(user2,user3,,)
#users=[user4]#users.append(user5)
#room.add_user(*users)
↑ユーザー単体を渡している感が強まる、気がする。add_userで可変長引数使いたくないときはそもそもひとつしか渡さなければいいし、複数可は可変長引数をもったadd_usersにでも任せればいい(なければ使えないだけ)。渡された値の正否に集中できるので例外処理がシンプル
リスト渡したいときは、リストの各値の扱いがバラバラのとき、[int,str,obj1,obj2,,,]みたいなときくらいしか無いような気がするんだがそれだと、そもそも設計ミスのような。もちろん近くのコンビニに部屋着で行く感覚ならどうでもいいと思うけど
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 肴は炙った〰イカでいい〰って歌あるじゃん?
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
