当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その57
■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
183デフォルトの名無しさん
2022/06/28(火) 12:11:58.39ID:W8L8uteA macのOS環境ごとふっとんで死ねば良いのに
184デフォルトの名無しさん
2022/06/28(火) 12:22:02.22ID:SMUgtqGT 日本人が作った、多言語バージョンマネージャーのanyenv を使えばよい。
同様のツールには、asdf もある
nodenv, pyenv, rbenv,
exenv, goenv, tfenv など
node, python, ruby, elixir, go, terraform など
他には、Docker も多い
同様のツールには、asdf もある
nodenv, pyenv, rbenv,
exenv, goenv, tfenv など
node, python, ruby, elixir, go, terraform など
他には、Docker も多い
185デフォルトの名無しさん
2022/06/28(火) 13:58:17.02ID:5S91HeIj re.subで[]で囲まれた文字列の中を置換するとき、どんな記述をすればよいですか?
re.sub(r'\[.*c.*\], 'x', '[abcabc]abc')
期待する値
[abxabx]abc
re.sub(r'\[.*c.*\], 'x', '[abcabc]abc')
期待する値
[abxabx]abc
186デフォルトの名無しさん
2022/06/28(火) 14:07:39.85ID:N3XtpiKU >>185
re.sub(r'\[[^\]]*\]', lambda m: m[0].replace('c', 'x'), '[abcabc]abc')
re.sub(r'\[[^\]]*\]', lambda m: m[0].replace('c', 'x'), '[abcabc]abc')
187185
2022/06/28(火) 14:31:31.24ID:5S91HeIj >>186
多謝!! そしてごめんなさい。良ければ解説を。
多謝!! そしてごめんなさい。良ければ解説を。
188185
2022/06/28(火) 14:49:53.04ID:5S91HeIj []の中だけを対象にreplaceしているのは、なんとか分かるんですが、re.sub の第2引数、
lambda m: m[0].replace('c', 'x')
が何をしているのかわかりません(泣)
lambda m: m[0].replace('c', 'x')
が何をしているのかわかりません(泣)
189デフォルトの名無しさん
2022/06/28(火) 14:52:51.94ID:dX7Zsa+9190デフォルトの名無しさん
2022/06/28(火) 14:59:09.76ID:d3+RKzUY repl が関数であれば~の下りね、m[g]はm.group(g)と同等
後読みアサーションに固定幅制約がないライブラリなら
面倒なことしなくても(?<=\[.*)c(?=.*\])で済みそうだが
後読みアサーションに固定幅制約がないライブラリなら
面倒なことしなくても(?<=\[.*)c(?=.*\])で済みそうだが
191デフォルトの名無しさん
2022/06/28(火) 15:42:31.79ID:5S91HeIj re.sub(r'\[.*\]', lambda m: m.group(0).replace('c, 'x')
でlambda関数がヒットするたび呼ばれるわけか!!
仕組みは理解できました。
>>190
look-behind requires fixed-width pattern
に阻まれました。
でlambda関数がヒットするたび呼ばれるわけか!!
仕組みは理解できました。
>>190
look-behind requires fixed-width pattern
に阻まれました。
192デフォルトの名無しさん
2022/06/28(火) 19:31:26.15ID:mooH0Iqw m.group はめんどくさい
findall の方が便利
findall の方が便利
193デフォルトの名無しさん
2022/06/29(水) 07:52:27.56ID:9vdu/PbE >192
re.findall だと re.sub のような仕掛けが利用できなくないですか?
>185 できますか??
re.findall だと re.sub のような仕掛けが利用できなくないですか?
>185 できますか??
194デフォルトの名無しさん
2022/06/29(水) 10:56:55.09ID:CtIvUBkO re.findallで[]付きとそれ以外に分けて処理
ちょっと長くなるけど色々応用がききます
# []の中だけreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]=='[' else m for m in _]
['a', '[abxabx]', 'abc', '[abx]']
>>>''.join(_)
'a[abxabx]abc[abx]'
# []の中以外をreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]!='[' else m for m in _]
['a', '[abcabc]', 'abx', '[abc]']
>>>''.join(_)
'a[abcabc]abx[abc]'
ちょっと長くなるけど色々応用がききます
# []の中だけreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]=='[' else m for m in _]
['a', '[abxabx]', 'abc', '[abx]']
>>>''.join(_)
'a[abxabx]abc[abx]'
# []の中以外をreplace
>>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]')
['a', '[abcabc]', 'abc', '[abc]']
>>>[m.replace('c', 'x') if m[0]!='[' else m for m in _]
['a', '[abcabc]', 'abx', '[abc]']
>>>''.join(_)
'a[abcabc]abx[abc]'
195デフォルトの名無しさん
2022/06/29(水) 19:29:51.42ID:CtIvUBkO 完成形できました!記号が含まれていても[]がちゃんと閉じてなくても
ちゃんと閉じているのだけreplaceします
>>186が秀逸だけど、[]で囲まれていない方をreplaceするとなると
途端に難しくなるから、やっぱ私の方法が良いんじゃないでしょうかw
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc]')
['', 'a', '[abcabc]', '', 'abc', '[abc]', '']
>>>[m.replace('c', 'x') if m and m[0]=='[' else m for m in _]
['', 'a', '[abxabx]', '', 'abc', '[abx]', '']
>>>''.join(_)
'a[abxabx]abc[abx]'
# 文字列に記号が含まれていて[]がちゃんと閉じていなくても大丈夫
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc$$[abc]')
['', 'a', '[abcabc]', '', 'abc', '[', '', 'abc$$', '[abc]', '']
ちゃんと閉じているのだけreplaceします
>>186が秀逸だけど、[]で囲まれていない方をreplaceするとなると
途端に難しくなるから、やっぱ私の方法が良いんじゃないでしょうかw
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc]')
['', 'a', '[abcabc]', '', 'abc', '[abc]', '']
>>>[m.replace('c', 'x') if m and m[0]=='[' else m for m in _]
['', 'a', '[abxabx]', '', 'abc', '[abx]', '']
>>>''.join(_)
'a[abxabx]abc[abx]'
# 文字列に記号が含まれていて[]がちゃんと閉じていなくても大丈夫
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc$$[abc]')
['', 'a', '[abcabc]', '', 'abc', '[', '', 'abc$$', '[abc]', '']
196デフォルトの名無しさん
2022/06/29(水) 22:12:59.69ID:sd1PgpdM 見通し悪すぎて要件満たしててもレビューで蹴られるコード
197デフォルトの名無しさん
2022/06/29(水) 22:25:07.73ID:TQFqK5Fi ちゃんと閉じているの定義があやしい
[[abc]とか
[[abc]とか
198デフォルトの名無しさん
2022/06/29(水) 23:13:54.03ID:CtIvUBkO199デフォルトの名無しさん
2022/06/30(木) 02:06:34.63ID:HSayXmFT kazuyuki
200デフォルトの名無しさん
2022/06/30(木) 20:55:30.42ID:QXLJbWFQ ナンプレのゲーム作りたい
縦横はチェックする方法わかるが
3x3マスの部分だけ配列で考える方法がわからない
↓までは考えたんだが方向性が違う気もする
https://techiedelight.com/compiler/?xIkw
9進法から3進法への変換がベース(ただし3進法は0から始まる)
for x in range(81)
x // 3
x % 3
3桁目に入る場合、1桁目に(3桁目)*3が足される
10 (1,0,0)→(0,3)
4桁目に入る場合、2桁目に(4桁目)*3が足される
28 (1,0,0,0)→(3,0)
縦横はチェックする方法わかるが
3x3マスの部分だけ配列で考える方法がわからない
↓までは考えたんだが方向性が違う気もする
https://techiedelight.com/compiler/?xIkw
9進法から3進法への変換がベース(ただし3進法は0から始まる)
for x in range(81)
x // 3
x % 3
3桁目に入る場合、1桁目に(3桁目)*3が足される
10 (1,0,0)→(0,3)
4桁目に入る場合、2桁目に(4桁目)*3が足される
28 (1,0,0,0)→(3,0)
201デフォルトの名無しさん
2022/06/30(木) 21:46:07.32ID:0uxZVqVl 簡単なのは3x3を座標系とは別の9マスの配列の配列として保持
置いたときに縦横とは別にその配列へ反映させる
縦横も同じ手法をとると統一感ある
コード上は9マスの配列はクラスにするかも
置いたときに縦横とは別にその配列へ反映させる
縦横も同じ手法をとると統一感ある
コード上は9マスの配列はクラスにするかも
202デフォルトの名無しさん
2022/06/30(木) 22:01:04.82ID:zKJ67H3+ 5桁8色のhit&blowを造りたい
人間が設問してpythonに解かせたい
人間が設問してpythonに解かせたい
203デフォルトの名無しさん
2022/07/02(土) 07:54:20.82ID:oFwScFTn >>201
既存の座標系にこだわらないほうがいいか
ありがとう
ナンプレのゲーム作りたいから手始めにナンプレを解くプログラムの検証をしてたんだけど
https://techiedelight.com/compiler/?b-I8
37行目の部分ってどうなってるの?
再帰関数なのはわかるんだけど、if文の中で再帰してるじゃん
def 関数():
if 再帰関数():
retrun Ture
retrun Flase
既存の座標系にこだわらないほうがいいか
ありがとう
ナンプレのゲーム作りたいから手始めにナンプレを解くプログラムの検証をしてたんだけど
https://techiedelight.com/compiler/?b-I8
37行目の部分ってどうなってるの?
再帰関数なのはわかるんだけど、if文の中で再帰してるじゃん
def 関数():
if 再帰関数():
retrun Ture
retrun Flase
204デフォルトの名無しさん
2022/07/02(土) 09:00:34.91ID:Zph8lW04 >>203
再帰だけどやってることは探索のための分岐
rangeの列挙からcontinueされなかった分を順番に分岐してて
呼んだ先で18-20にひっかかると中断して最初の呼び出しまで戻ってる
deepcopyしてるところが富豪的だけどシンプル
再帰だけどやってることは探索のための分岐
rangeの列挙からcontinueされなかった分を順番に分岐してて
呼んだ先で18-20にひっかかると中断して最初の呼び出しまで戻ってる
deepcopyしてるところが富豪的だけどシンプル
205デフォルトの名無しさん
2022/07/02(土) 09:39:17.61ID:EefHjxyZ >>204
この37行目
if set_num(ndata, idx + 1): return True
これを
set_num(ndata, idx + 1)
に変えてみたんだけど結果変わらなかった
if の中に入れる意味あるの?
この37行目
if set_num(ndata, idx + 1): return True
これを
set_num(ndata, idx + 1)
に変えてみたんだけど結果変わらなかった
if の中に入れる意味あるの?
206デフォルトの名無しさん
2022/07/02(土) 09:44:12.51ID:EefHjxyZ 答えが出た後も探索しちゃうからそれを止めるための処理ってことか
207デフォルトの名無しさん
2022/07/02(土) 09:57:44.64ID:COZLaCzb ninbe
208デフォルトの名無しさん
2022/07/11(月) 12:19:00.64ID:aiHSnYNz google colabでcuda使いたい。
良い方法ある?
良い方法ある?
209デフォルトの名無しさん
2022/07/11(月) 12:19:00.73ID:aiHSnYNz google colabでcuda使いたい。
良い方法ある?
良い方法ある?
210デフォルトの名無しさん
2022/07/11(月) 12:39:20.78ID:L4tB3bvp 金払ってないのか?
211デフォルトの名無しさん
2022/07/11(月) 14:48:46.26ID:aiHSnYNz212デフォルトの名無しさん
2022/07/11(月) 15:51:00.64ID:EGP2A4JX 好きなテキストエディタないの?それで基本いいんだけど
拘りないなら拡張とユーザ数からvscodeでいいんじゃない
PyCharmはリファクタまわりが優れているけど必須じゃないし
Atomはオワコン
拘りないなら拡張とユーザ数からvscodeでいいんじゃない
PyCharmはリファクタまわりが優れているけど必須じゃないし
Atomはオワコン
213デフォルトの名無しさん
2022/07/11(月) 17:35:44.11ID:rDGcpouH vsもマイクロソフト以外のプラグインが信用出来ないからあまり良いとは言えないかなー
214デフォルトの名無しさん
2022/07/12(火) 00:04:57.18ID:eIaiUALg 文字列〜〜〜ID123456.text
みたいなファイルからID123456だけを抜き出したいんだけど、どんな方法がある?
IDの後には必ず数字がきて、桁数はかならず6
みたいなファイルからID123456だけを抜き出したいんだけど、どんな方法がある?
IDの後には必ず数字がきて、桁数はかならず6
215デフォルトの名無しさん
2022/07/12(火) 00:06:23.62ID:eIaiUALg 補足
IDが書かれてる場所はファイルによって異なる
文字列〜〜〜ID123456文字列〜.text
ID123456文字列〜〜〜.text
みたいなときもある
IDが書かれてる場所はファイルによって異なる
文字列〜〜〜ID123456文字列〜.text
ID123456文字列〜〜〜.text
みたいなときもある
216デフォルトの名無しさん
2022/07/12(火) 02:57:47.18ID:yBYukR5V >>214
普通は正規表現でも使うのかな
俺は正規表現使えないからこう書く
from pathlib import Path
p="C:\abc\あいうID1234567XYZ.text"
print("ID" + Path(p).stem.split("ID")[1][:6])
普通は正規表現でも使うのかな
俺は正規表現使えないからこう書く
from pathlib import Path
p="C:\abc\あいうID1234567XYZ.text"
print("ID" + Path(p).stem.split("ID")[1][:6])
217デフォルトの名無しさん
2022/07/12(火) 08:19:17.52ID:hTnf4I/y >>215 正規表現を制する者は文字列を制する、他の言語でも仕様はほぼ同じ、覚えて損は無し
>>>import re
>>>s='''文字列〜〜〜ID123456文字列〜.text
・・・ID789012文字列〜〜〜.text
・・・みたいなときもある'''
>>>re.findall(r'ID\d{6}', s)
['ID123456', 'ID789012']
>>>import re
>>>s='''文字列〜〜〜ID123456文字列〜.text
・・・ID789012文字列〜〜〜.text
・・・みたいなときもある'''
>>>re.findall(r'ID\d{6}', s)
['ID123456', 'ID789012']
218デフォルトの名無しさん
2022/07/12(火) 10:53:36.86ID:eIaiUALg >>216>>217
ありがとうございます、勉強になります
ありがとうございます、勉強になります
219デフォルトの名無しさん
2022/07/12(火) 20:48:55.38ID:gRW1mfOh 例外処理ってどう使えばいいんだろ
スクレイピングしてあるサイトのデータ拾いに行って
”データ”がある場合に代入となるんだけど
拾いに行くページによって、その行自体がなくてエラーになってしまうんだよな
if Data[0][0] == ”データ”:
s = Data[0][0]
Data[0][0]がそもそも存在しない時にエラーにならないよう例外処理を使うといい、ぐらいまでは調べたんだけど
書き方がよくわからない
スクレイピングしてあるサイトのデータ拾いに行って
”データ”がある場合に代入となるんだけど
拾いに行くページによって、その行自体がなくてエラーになってしまうんだよな
if Data[0][0] == ”データ”:
s = Data[0][0]
Data[0][0]がそもそも存在しない時にエラーにならないよう例外処理を使うといい、ぐらいまでは調べたんだけど
書き方がよくわからない
220デフォルトの名無しさん
2022/07/12(火) 21:11:11.59ID:hTnf4I/y >>218
より具体的な例としてC:/hogehogeディレクトリ内の全ファイルのファイル名からIDを抜き出します
>>>import pathlib, re
>>>src = pathlib.Path('C:/hogehoge')
>>>list(src.glob('*')) #ファイル確認、この例ではディレクトリ内にファイルが2つあります
[WindowsPath('C:/hogehoge/ID789012文字列〜〜〜.text'), WindowsPath('C:/hogehoge/文字列〜〜〜ID123456文字列〜.text')]
# 以下、ID抜き出し処理
>>>l = [re.findall(r'ID\d{6}', f.name) for f in src.glob('*')]
>>>l
[['ID789012'], ['ID123456']]
>>>sum(l, []) #フラット化
['ID789012', 'ID123456']
より具体的な例としてC:/hogehogeディレクトリ内の全ファイルのファイル名からIDを抜き出します
>>>import pathlib, re
>>>src = pathlib.Path('C:/hogehoge')
>>>list(src.glob('*')) #ファイル確認、この例ではディレクトリ内にファイルが2つあります
[WindowsPath('C:/hogehoge/ID789012文字列〜〜〜.text'), WindowsPath('C:/hogehoge/文字列〜〜〜ID123456文字列〜.text')]
# 以下、ID抜き出し処理
>>>l = [re.findall(r'ID\d{6}', f.name) for f in src.glob('*')]
>>>l
[['ID789012'], ['ID123456']]
>>>sum(l, []) #フラット化
['ID789012', 'ID123456']
221デフォルトの名無しさん
2022/07/12(火) 21:56:43.39ID:UQgGu1pu >>219
データがなかった場合にどう処理したいのかによって
例外処理にするのかif-elseみたいな分岐処理にするのかを選択する
スクレイピングの場合は対象データがなかったら
何も処理しないとか空文字とかのデフォルト値を入れる場合が多いんだけどそのやり方もいろいろ
if-elseで簡易的な関数にした例
def extract(html, selector, fn, default=""):
return fn(element) if (element := html.select_one(selector)) else default
def extract_text(html, selector, default=""):
return extract(html, selector, lambda x: x.text.strip(), default)
def extract_link(html, selector, default=""):
return extract(html, selector, lambda x: x.get('href'), default)
データがなかった場合にどう処理したいのかによって
例外処理にするのかif-elseみたいな分岐処理にするのかを選択する
スクレイピングの場合は対象データがなかったら
何も処理しないとか空文字とかのデフォルト値を入れる場合が多いんだけどそのやり方もいろいろ
if-elseで簡易的な関数にした例
def extract(html, selector, fn, default=""):
return fn(element) if (element := html.select_one(selector)) else default
def extract_text(html, selector, default=""):
return extract(html, selector, lambda x: x.text.strip(), default)
def extract_link(html, selector, default=""):
return extract(html, selector, lambda x: x.get('href'), default)
222デフォルトの名無しさん
2022/07/12(火) 22:40:42.84ID:xLkMA/UK >>219
スクレイピングでたとえると
途中の要素が取得できないと結局な結果が得られないのでその場でプログラム終了する
とすると、取得失敗の都度ifでsys.exit()と書けはする
ここで終了前になにかメッセージ出力したり上位の関数にエラーで戻ったりアレコレしたいとすると
共通化したくなり例外以外では見通しが悪く書きにくい
そういうのもうまく関数設計すれば書けはするけど
Pythonは標準の操作(Data[0][0] とか)で例外あげる場面が多いので例外に寄せる方が楽
スクレイピングでたとえると
途中の要素が取得できないと結局な結果が得られないのでその場でプログラム終了する
とすると、取得失敗の都度ifでsys.exit()と書けはする
ここで終了前になにかメッセージ出力したり上位の関数にエラーで戻ったりアレコレしたいとすると
共通化したくなり例外以外では見通しが悪く書きにくい
そういうのもうまく関数設計すれば書けはするけど
Pythonは標準の操作(Data[0][0] とか)で例外あげる場面が多いので例外に寄せる方が楽
223デフォルトの名無しさん
2022/07/13(水) 20:23:40.86ID:EtP8dxEe Pythonのトップ・キノコードがキノクエストと言う、Pythonの学習サービスを作った!
224デフォルトの名無しさん
2022/07/13(水) 22:27:14.03ID:XjBOe/Qa s = ’aaa bbb ccc ddd’
という文字列を
s = ’[aaa],[bbb],[ccc],[ddd]’
という文字列にする方法って
s.split()
で一度リストにして
for文内で新しいリストにappendとか使って [ や ] や , をリストの要素として追加して
そのリストをまた文字列に戻すって方法しか思いつかないんだけど、他にあるかな?
という文字列を
s = ’[aaa],[bbb],[ccc],[ddd]’
という文字列にする方法って
s.split()
で一度リストにして
for文内で新しいリストにappendとか使って [ や ] や , をリストの要素として追加して
そのリストをまた文字列に戻すって方法しか思いつかないんだけど、他にあるかな?
225デフォルトの名無しさん
2022/07/13(水) 22:38:12.38ID:ZiN6uKeA >>224
s = '[' + s.replace(' ', '],[') + ']'
s = '[' + s.replace(' ', '],[') + ']'
226デフォルトの名無しさん
2022/07/13(水) 22:42:11.00ID:tPrODk9K s='[' + s.replace(' ',']',[') + ']'
これでいけんか?
これでいけんか?
227デフォルトの名無しさん
2022/07/13(水) 22:43:26.48ID:tPrODk9K かぶったし打ち間違いあるしスマホでコード書くの合わないな…
228デフォルトの名無しさん
2022/07/13(水) 22:44:17.92ID:hJXXd+YV “,”.join(map(lambda x:f”[{x}]”, s.split(“ “)))
そらで書いてるから動くか分からんが、こんな感じ
そらで書いてるから動くか分からんが、こんな感じ
229デフォルトの名無しさん
2022/07/13(水) 22:46:15.33ID:tPrODk9K あと方法としてはjoin使うのとリストをそのまま文字列にするのができる気がする
230デフォルトの名無しさん
2022/07/13(水) 22:53:13.90ID:XjBOe/Qa231デフォルトの名無しさん
2022/07/13(水) 23:08:11.77ID:Hjnw35/j 教科書的に書くとつまらんな
','.join(f'[{x}]' for x in s.split(' '))
','.join(f'[{x}]' for x in s.split(' '))
232デフォルトの名無しさん
2022/07/14(木) 10:16:40.49ID:dxotV0yq くだらんすれ
233デフォルトの名無しさん
2022/07/14(木) 11:38:32.14ID:3XfxOzel python使い始めて何年も経つが
‘,’.join(…)書くたびにクソコード書いてんなと思う
‘,’.join(…)書くたびにクソコード書いてんなと思う
234デフォルトの名無しさん
2022/07/14(木) 12:12:10.59ID:mZF8rPll >>233
よく言われるけど、私はPythonスタイルが好きだな
文字列にするのだから文字列のメソッドであるべき
ちゃんと議論されてRubyスタイルは否定されてんだよね
ttps://www.lifewithpython.com/2017/07/why-python-join-is-string-method.html
よく言われるけど、私はPythonスタイルが好きだな
文字列にするのだから文字列のメソッドであるべき
ちゃんと議論されてRubyスタイルは否定されてんだよね
ttps://www.lifewithpython.com/2017/07/why-python-join-is-string-method.html
235デフォルトの名無しさん
2022/07/14(木) 16:24:53.41ID:NrPRW2+E236デフォルトの名無しさん
2022/07/14(木) 16:42:14.94ID:VCUQdsgR237デフォルトの名無しさん
2022/07/14(木) 17:24:02.64ID:TABkZ95a Pythonって何故だかこういうエクストリームな擁護者が他言語に比べて多いんだよなぁ
どの言語にも良い点悪い点はあるのになんでなんだろ?
どの言語にも良い点悪い点はあるのになんでなんだろ?
238デフォルトの名無しさん
2022/07/14(木) 17:57:33.90ID:mZF8rPll エクストリームな擁護ならRubyの右に出るものはないよ
「日本人ならRuby」「楽しいからRuby」だもん、初めて聞いた時は寒気がしたね
RubyじゃなくてPython選んでマジで良かった、Python最高!
joinもsplitの話ももう出尽くしているから、勝手にググってフンガーって発狂しててよ
私に言われても困っちゃうし、公式で結論出ているのだからそれで理解できないなら素養が無いよ
「日本人ならRuby」「楽しいからRuby」だもん、初めて聞いた時は寒気がしたね
RubyじゃなくてPython選んでマジで良かった、Python最高!
joinもsplitの話ももう出尽くしているから、勝手にググってフンガーって発狂しててよ
私に言われても困っちゃうし、公式で結論出ているのだからそれで理解できないなら素養が無いよ
239デフォルトの名無しさん
2022/07/14(木) 18:15:53.09ID:ObgbLbGZ あ~あ、みんな寄ってたかって叩くからファビョっちゃったじゃん
240デフォルトの名無しさん
2022/07/14(木) 18:18:53.53ID:ATT2arO1 >>237
pythonのスレ(しかも超初心者用)で言うことですか?
pythonのスレ(しかも超初心者用)で言うことですか?
241デフォルトの名無しさん
2022/07/14(木) 18:40:20.64ID:NYmoorKP 超初心者に変な常識を植え付けないように色んな意見のレスがあっていいと思うよ
変だと思う人も居るんだなということを知ってて損は無い
超初心者だと他言語における常識を知る機会も無いし
変だと思う人も居るんだなということを知ってて損は無い
超初心者だと他言語における常識を知る機会も無いし
242デフォルトの名無しさん
2022/07/14(木) 19:04:20.42ID:ji0JpZgM243デフォルトの名無しさん
2022/07/14(木) 19:09:23.50ID:mZF8rPll244デフォルトの名無しさん
2022/07/14(木) 19:51:42.67ID:/4X/rYOa245デフォルトの名無しさん
2022/07/14(木) 20:59:57.30ID:jjxIhgjT スレ違い自演連投荒らしが誰何に反応して身元確定したので新スレで書き込み禁止されたのを「いじめ」だと言い出す被害妄想っぷりが狂人クオリティ
246デフォルトの名無しさん
2022/07/14(木) 21:03:26.05ID:mZF8rPll247デフォルトの名無しさん
2022/07/14(木) 21:41:30.43ID:1UfgY23j248デフォルトの名無しさん
2022/07/14(木) 21:53:51.76ID:GadqcTvG249デフォルトの名無しさん
2022/07/14(木) 22:25:47.47ID:mZF8rPll250デフォルトの名無しさん
2022/07/14(木) 22:56:25.17ID:vHzneFGJ251デフォルトの名無しさん
2022/07/14(木) 23:02:08.05ID:53iLOIJP わざと馬鹿のフリしてんのかな?どっちにしても馬鹿にしか見えないが。
252デフォルトの名無しさん
2022/07/14(木) 23:02:36.06ID:pmXXTX87 読んだけどseqは引数な方が良いってだけで
> 文字列にするのだから文字列のメソッドであるべき
こんなこと書いてない
> 文字列にするのだから文字列のメソッドであるべき
こんなこと書いてない
253デフォルトの名無しさん
2022/07/14(木) 23:04:03.42ID:mZF8rPll >>250
君が読解力無いのは分かったから、それよりIDコロコロ変えているのバレちゃったねw
>>247の「もう一度書くね」でヘマしちゃったのはやっぱりファビョってるからなの?ww
これ全部オマエだろ、何連投してんだよw顔真っ赤なのどっちだよって話だよ
いやー自作自演バカって本当にいるんだなぁー アホなりに頑張ってるのは分かるけど低能だから
全部台無しだわぁ〜ww アホだからすぐバレちゃうwww
そのIDコロコロ変えるようになった経緯を思い出せよ、まともにやるとすぐ負けちゃうからだろ?
自作自演で勝ってる感が欲しかったけど、それも手に入りませんでしたぁ〜w 恥の上塗りって
自分のこと言ってんのかよww 全部ブーメラン!おまえは民主党かよってw
君が読解力無いのは分かったから、それよりIDコロコロ変えているのバレちゃったねw
>>247の「もう一度書くね」でヘマしちゃったのはやっぱりファビョってるからなの?ww
これ全部オマエだろ、何連投してんだよw顔真っ赤なのどっちだよって話だよ
いやー自作自演バカって本当にいるんだなぁー アホなりに頑張ってるのは分かるけど低能だから
全部台無しだわぁ〜ww アホだからすぐバレちゃうwww
そのIDコロコロ変えるようになった経緯を思い出せよ、まともにやるとすぐ負けちゃうからだろ?
自作自演で勝ってる感が欲しかったけど、それも手に入りませんでしたぁ〜w 恥の上塗りって
自分のこと言ってんのかよww 全部ブーメラン!おまえは民主党かよってw
254デフォルトの名無しさん
2022/07/15(金) 01:28:28.52ID:wi0x7exo すごいチー牛顔引き攣らせて笑ってそう
255デフォルトの名無しさん
2022/07/15(金) 03:30:42.52ID:MdZ2tfzQ >>253
とうとう壊れちゃったw
とうとう壊れちゃったw
256デフォルトの名無しさん
2022/07/15(金) 07:32:09.26ID:mXh/FC5X なんかこわい
257デフォルトの名無しさん
2022/07/15(金) 12:20:14.72ID:Y2OiW31R こんな人生終わってそうな社会不適合者でも稼げちゃうのがIT業界なんだよな
人生終わってそうな外見のやつばかりなのに、金が稼げるからジョーカーみたいなのが生まれにくい
人生終わってそうな外見のやつばかりなのに、金が稼げるからジョーカーみたいなのが生まれにくい
258デフォルトの名無しさん
2022/07/15(金) 14:11:44.43ID:78D2/2K4 iterableを定義してそこにjoinメソッドを追加するだけでよかったのにね
joinメソッドは今どきこんな設計する人がいたらすぐ外されても文句言えないレベル
joinメソッドは今どきこんな設計する人がいたらすぐ外されても文句言えないレベル
259デフォルトの名無しさん
2022/07/15(金) 14:28:12.17ID:MVHCgXBf 当人ちゃうけどまず >>234 のリンク先読んどこう
260デフォルトの名無しさん
2022/07/15(金) 15:21:03.77ID:cpkuMkfN 俺も当人ちゃうけどそのリンク先読んでも>>258に同意するわ
261デフォルトの名無しさん
2022/07/15(金) 15:35:58.33ID:rlSsskU5 ずいぶんとお利口な超初心者の集まりだこと…
262デフォルトの名無しさん
2022/07/15(金) 15:52:36.65ID:cpkuMkfN 超初心者が質問できるスレであって住人全員が超初心者というわけじゃないよ
263デフォルトの名無しさん
2022/07/15(金) 17:56:14.83ID:qGSK8RbV メーリングリストのログ追ってみたが議論らしい議論は全くなかったぞコレ
Tim Petersが案をだして、じゃそれでくらいのノリ
Tim Petersが案をだして、じゃそれでくらいのノリ
264デフォルトの名無しさん
2022/07/15(金) 19:33:17.31ID:5LwbToQX 悲しいとき〜、悲しいとき〜、不毛な努力をしているアホをみたとき〜
265デフォルトの名無しさん
2022/07/15(金) 21:59:49.41ID:Mg+hVTQU 少し内容がずれているかもしれませんが質問させてください。
Windows10で右クリック-新規作成で空のpythonファイル(.py)を作成するようにしたいのですが、
何か方法はありますでしょうか?
下記のURLを参考にしてレジストリを変更する方法を調べて実行したのですが、反映しません。
https://qiita.com/ioComk/items/ab79749b0f0bf05db97e
教えていただきたく。よろしくお願いします。
Windows10で右クリック-新規作成で空のpythonファイル(.py)を作成するようにしたいのですが、
何か方法はありますでしょうか?
下記のURLを参考にしてレジストリを変更する方法を調べて実行したのですが、反映しません。
https://qiita.com/ioComk/items/ab79749b0f0bf05db97e
教えていただきたく。よろしくお願いします。
266デフォルトの名無しさん
2022/07/15(金) 23:42:53.55ID:Fa+NFDEY >>258
実際bytesとかでjoin相当のことをしようとしたらどうすればいいんだろう?itertools使えばなんとかなりそうだけど
実際bytesとかでjoin相当のことをしようとしたらどうすればいいんだろう?itertools使えばなんとかなりそうだけど
267デフォルトの名無しさん
2022/07/16(土) 00:03:25.16ID:HB6roBeY __add__かjoin専用メソッドがある前提でひたすらinject
それらが型変換できないケースだと失敗とか
それらが型変換できないケースだと失敗とか
268デフォルトの名無しさん
2022/07/16(土) 00:23:45.26ID:fjBrDVen269デフォルトの名無しさん
2022/07/16(土) 10:38:02.22ID:5edRFReA270デフォルトの名無しさん
2022/07/16(土) 14:30:48.70ID:7RINBtm9271デフォルトの名無しさん
2022/07/16(土) 16:20:01.38ID:ck4+820Y なんでこうなるのかわからない
_, *elements , _ = [1, 2, 3, 4, 5, 6, 7, 8]
print(elements) # [2, 3, 4, 5, 6, 7]
print(type(elements)) # <class 'list'>
elements_B = [1, 2, 3, 4, 5, 6, 7, 8]
B = _, *elements_B, _
print(B) # (8, 1, 2, 3, 4, 5, 6, 7, 8, 8)
print(type(B)) # <class 'tuple'>
_, *elements , _ = [1, 2, 3, 4, 5, 6, 7, 8]
print(elements) # [2, 3, 4, 5, 6, 7]
print(type(elements)) # <class 'list'>
elements_B = [1, 2, 3, 4, 5, 6, 7, 8]
B = _, *elements_B, _
print(B) # (8, 1, 2, 3, 4, 5, 6, 7, 8, 8)
print(type(B)) # <class 'tuple'>
272デフォルトの名無しさん
2022/07/16(土) 16:34:54.36ID:730D9OZt print(_)してみたら
273デフォルトの名無しさん
2022/07/16(土) 16:56:27.29ID:ck4+820Y ああ、理解したわ
a, b, c = 1,2,3
a=1
b=2
c=3
ってのと変わらんのか
a, *b, c = 1,2,2,2,2,3
a=1
b=2,2,2,2
c=3
みたいなことか
a, b, c = 1,2,3
a=1
b=2
c=3
ってのと変わらんのか
a, *b, c = 1,2,2,2,2,3
a=1
b=2,2,2,2
c=3
みたいなことか
274デフォルトの名無しさん
2022/07/16(土) 19:51:21.14ID:GdTpN6Df bytes で join ってさ
b''.join(bytes_data)
で良いんじゃね
b''.join(bytes_data)
で良いんじゃね
275デフォルトの名無しさん
2022/07/17(日) 11:57:25.95ID:VAtjDotR 2^26倍精度浮動小数点数の最大値
(2^((2^(111-1))-1))*(2-(2^-2147483536))
https://ideone.com/3sxXF1
は計算できるが、
2^27倍精度浮動小数点数の最大値
(2^((2^(115-1))-1))*(2-(2^-4294967180))
https://ideone.com/MDO46W
は誤差が出て計算できない。
何とかならない?
(2^((2^(111-1))-1))*(2-(2^-2147483536))
https://ideone.com/3sxXF1
は計算できるが、
2^27倍精度浮動小数点数の最大値
(2^((2^(115-1))-1))*(2-(2^-4294967180))
https://ideone.com/MDO46W
は誤差が出て計算できない。
何とかならない?
276デフォルトの名無しさん
2022/07/17(日) 12:39:58.12ID:Un2LAdnT emaxの最大値は999999999999999999みたいだからどうにもならんのでは
277デフォルトの名無しさん
2022/07/17(日) 15:02:05.03ID:QiBhjgar emacs
278デフォルトの名無しさん
2022/07/17(日) 15:16:14.73ID:VAtjDotR279デフォルトの名無しさん
2022/07/17(日) 15:22:34.18ID:QiBhjgar280デフォルトの名無しさん
2022/07/17(日) 15:44:47.39ID:7GRljLrT def f(a):
return a+1
a=[1,2]
print(f(a))
>[2,3]
みたいなことがやりたいんですが、
関数にまとめてデータを渡して処理してもらうようなことはできないでしょうか
本来はf(1),f(2)とするところです
数が多ければforで回すのですが、まとめてどさっと渡したいです
return a+1
a=[1,2]
print(f(a))
>[2,3]
みたいなことがやりたいんですが、
関数にまとめてデータを渡して処理してもらうようなことはできないでしょうか
本来はf(1),f(2)とするところです
数が多ければforで回すのですが、まとめてどさっと渡したいです
281デフォルトの名無しさん
2022/07/17(日) 16:13:54.34ID:eihDCF0F282デフォルトの名無しさん
2022/07/17(日) 17:40:51.90ID:mQpJsc2r 何だこの記事は
283デフォルトの名無しさん
2022/07/17(日) 17:47:08.08ID:GTQ/Lt+k >>279
なるほど。strをバラしてもstrだが、bytesはバラすとintになってしまうということか。
まあ、実用上は問題ないかなあ。というかここを崩すとbytesを1バイトずつバラしてjoinするという殆どしない操作のために、
strとbytesの実用性がかなり失われるよね
なるほど。strをバラしてもstrだが、bytesはバラすとintになってしまうということか。
まあ、実用上は問題ないかなあ。というかここを崩すとbytesを1バイトずつバラしてjoinするという殆どしない操作のために、
strとbytesの実用性がかなり失われるよね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★4 [♪♪♪★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 日中関係悪化で「日本からもうすぐパンダがいなくなる」 中国SNSでトレンド1位に★2 [♪♪♪★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【STARTO ENTERTAINMENT】timelesz篠塚大輝、「今はもう動かない おじいさんにトドメ」物議でコメント発表「これからは信頼回復に努め」 [Ailuropoda melanoleuca★]
- 【旧統一教会】年度内に解散命令請求に結論 教団は最終主張書面を東京高裁に提出 [1ゲットロボ★]
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸
- 高市自体は言うほど悪くないよな。経済制裁受けないと目覚めない日本人市民の頭が悪過ぎるからやってもらうしかない [517791167]
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」 [115996789]
- 戦後最低の総理はアイツだとして、戦後最高の総理って誰なの???????????? [242521385]
- 謎の勢力「高市!中国!高市!中国!高市!中国!」👈こいつらの魅力 [339315852]
- 【んな専🏡】華金もんなっしょいとはやれやれなのらね🍬(・o・🍬)🏰
