【まず1嫁】くだすれPython(超初心者用) その57

■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
当スレに★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 ###
186デフォルトの名無しさん
垢版 |
2022/06/28(火) 14:07:39.85ID:N3XtpiKU
>>185
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')
が何をしているのかわかりません(泣)
2022/06/28(火) 14:52:51.94ID:dX7Zsa+9
マニュアルを読もう
https://docs.python.org/ja/3/library/re.html#re.sub
2022/06/28(火) 14:59:09.76ID:d3+RKzUY
repl が関数であれば~の下りね、m[g]はm.group(g)と同等
後読みアサーションに固定幅制約がないライブラリなら
面倒なことしなくても(?<=\[.*)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
に阻まれました。
192デフォルトの名無しさん
垢版 |
2022/06/28(火) 19:31:26.15ID:mooH0Iqw
m.group はめんどくさい
findall の方が便利
193デフォルトの名無しさん
垢版 |
2022/06/29(水) 07:52:27.56ID:9vdu/PbE
>192
re.findall だと re.sub のような仕掛けが利用できなくないですか?
>185 できますか??
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]'
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]', '']
2022/06/29(水) 22:12:59.69ID:sd1PgpdM
見通し悪すぎて要件満たしててもレビューで蹴られるコード
2022/06/29(水) 22:25:07.73ID:TQFqK5Fi
ちゃんと閉じているの定義があやしい
[[abc]とか
2022/06/29(水) 23:13:54.03ID:CtIvUBkO
>>196 見通し良いでしょ、角カッコで囲まれた角カッコ以外 or 角カッコ or 角カッコ以外でfindallじゃん
角カッコしか出てこないじゃん、簡潔、シンプル、分かりやすい

>>197 良い指摘、アナタのおかげで改善されました^^
>>>re.findall(r'\[[^\[\]]*\]|[\[\]]*?|[^\[\]]*', 'a[abcabc]abc[[abc]')
['', 'a', '[abcabc]', '', 'abc', '', '[', '[abc]', '']
199デフォルトの名無しさん
垢版 |
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)
2022/06/30(木) 21:46:07.32ID:0uxZVqVl
簡単なのは3x3を座標系とは別の9マスの配列の配列として保持
置いたときに縦横とは別にその配列へ反映させる
縦横も同じ手法をとると統一感ある
コード上は9マスの配列はクラスにするかも
202デフォルトの名無しさん
垢版 |
2022/06/30(木) 22:01:04.82ID:zKJ67H3+
5桁8色のhit&blowを造りたい
人間が設問して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
2022/07/02(土) 09:00:34.91ID:Zph8lW04
>>203
再帰だけどやってることは探索のための分岐
rangeの列挙からcontinueされなかった分を順番に分岐してて
呼んだ先で18-20にひっかかると中断して最初の呼び出しまで戻ってる
deepcopyしてるところが富豪的だけどシンプル
2022/07/02(土) 09:39:17.61ID:EefHjxyZ
>>204
この37行目
if set_num(ndata, idx + 1): return True

これを
set_num(ndata, idx + 1)
に変えてみたんだけど結果変わらなかった
if の中に入れる意味あるの?
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使いたい。
良い方法ある?
2022/07/11(月) 12:39:20.78ID:L4tB3bvp
金払ってないのか?
211デフォルトの名無しさん
垢版 |
2022/07/11(月) 14:48:46.26ID:aiHSnYNz
>>210
colabはdjangoやfraskができないっぽいからやってない。
もしdjangoが使えるならお勧めあったら教えてほしいっす!
vsかチャームか、atomか・・・。
2022/07/11(月) 15:51:00.64ID:EGP2A4JX
好きなテキストエディタないの?それで基本いいんだけど
拘りないなら拡張とユーザ数からvscodeでいいんじゃない
PyCharmはリファクタまわりが優れているけど必須じゃないし
Atomはオワコン
2022/07/11(月) 17:35:44.11ID:rDGcpouH
vsもマイクロソフト以外のプラグインが信用出来ないからあまり良いとは言えないかなー
2022/07/12(火) 00:04:57.18ID:eIaiUALg
文字列〜〜〜ID123456.text

みたいなファイルからID123456だけを抜き出したいんだけど、どんな方法がある?
IDの後には必ず数字がきて、桁数はかならず6
2022/07/12(火) 00:06:23.62ID:eIaiUALg
補足
IDが書かれてる場所はファイルによって異なる

文字列〜〜〜ID123456文字列〜.text
ID123456文字列〜〜〜.text
みたいなときもある
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])
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']
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]がそもそも存在しない時にエラーにならないよう例外処理を使うといい、ぐらいまでは調べたんだけど
書き方がよくわからない
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']
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)
2022/07/12(火) 22:40:42.84ID:xLkMA/UK
>>219
スクレイピングでたとえると
途中の要素が取得できないと結局な結果が得られないのでその場でプログラム終了する
とすると、取得失敗の都度ifでsys.exit()と書けはする
ここで終了前になにかメッセージ出力したり上位の関数にエラーで戻ったりアレコレしたいとすると
共通化したくなり例外以外では見通しが悪く書きにくい
そういうのもうまく関数設計すれば書けはするけど
Pythonは標準の操作(Data[0][0] とか)で例外あげる場面が多いので例外に寄せる方が楽
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とか使って [ や ] や , をリストの要素として追加して
そのリストをまた文字列に戻すって方法しか思いつかないんだけど、他にあるかな?
2022/07/13(水) 22:38:12.38ID:ZiN6uKeA
>>224
s = '[' + s.replace(' ', '],[') + ']'
2022/07/13(水) 22:42:11.00ID:tPrODk9K
s='[' + s.replace(' ',']',[') + ']'
これでいけんか?
2022/07/13(水) 22:43:26.48ID:tPrODk9K
かぶったし打ち間違いあるしスマホでコード書くの合わないな…
2022/07/13(水) 22:44:17.92ID:hJXXd+YV
“,”.join(map(lambda x:f”[{x}]”, s.split(“ “)))
そらで書いてるから動くか分からんが、こんな感じ
2022/07/13(水) 22:46:15.33ID:tPrODk9K
あと方法としてはjoin使うのとリストをそのまま文字列にするのができる気がする
230デフォルトの名無しさん
垢版 |
2022/07/13(水) 22:53:13.90ID:XjBOe/Qa
>>225-229
マジか
思いつかなかった
2022/07/13(水) 23:08:11.77ID:Hjnw35/j
教科書的に書くとつまらんな
','.join(f'[{x}]' for x in s.split(' '))
232デフォルトの名無しさん
垢版 |
2022/07/14(木) 10:16:40.49ID:dxotV0yq
くだらんすれ
2022/07/14(木) 11:38:32.14ID:3XfxOzel
python使い始めて何年も経つが
‘,’.join(…)書くたびにクソコード書いてんなと思う
2022/07/14(木) 12:12:10.59ID:mZF8rPll
>>233
よく言われるけど、私はPythonスタイルが好きだな
文字列にするのだから文字列のメソッドであるべき
ちゃんと議論されてRubyスタイルは否定されてんだよね
ttps://www.lifewithpython.com/2017/07/why-python-join-is-string-method.html
2022/07/14(木) 16:24:53.41ID:NrPRW2+E
>>234
読んだけど結構乱暴な議論だな
> 文字列にするのだから文字列のメソッドであるべき
数字かどうかを判定するisdigit()をboolのメソッドにしろってか?w
2022/07/14(木) 16:42:14.94ID:VCUQdsgR
>>234
じゃsplitはリストにするのだからリストのメソッドであるべきだなw
ちゃんと議論ww
2022/07/14(木) 17:24:02.64ID:TABkZ95a
Pythonって何故だかこういうエクストリームな擁護者が他言語に比べて多いんだよなぁ

どの言語にも良い点悪い点はあるのになんでなんだろ?
2022/07/14(木) 17:57:33.90ID:mZF8rPll
エクストリームな擁護ならRubyの右に出るものはないよ
「日本人ならRuby」「楽しいからRuby」だもん、初めて聞いた時は寒気がしたね
RubyじゃなくてPython選んでマジで良かった、Python最高!

joinもsplitの話ももう出尽くしているから、勝手にググってフンガーって発狂しててよ
私に言われても困っちゃうし、公式で結論出ているのだからそれで理解できないなら素養が無いよ
2022/07/14(木) 18:15:53.09ID:ObgbLbGZ
あ~あ、みんな寄ってたかって叩くからファビョっちゃったじゃん
2022/07/14(木) 18:18:53.53ID:ATT2arO1
>>237
pythonのスレ(しかも超初心者用)で言うことですか?
2022/07/14(木) 18:40:20.64ID:NYmoorKP
超初心者に変な常識を植え付けないように色んな意見のレスがあっていいと思うよ
変だと思う人も居るんだなということを知ってて損は無い
超初心者だと他言語における常識を知る機会も無いし
2022/07/14(木) 19:04:20.42ID:ji0JpZgM
>>238
> 私に言われても困っちゃうし
これお前の意見だろ?
> 文字列にするのだから文字列のメソッドであるべき
リンク先も公式もそんなアホなことを言ってないぞw
2022/07/14(木) 19:09:23.50ID:mZF8rPll
>>242
ひゃーファビョッちゃってるぅーw
素養も読解力も無いことをアピールされましても困りますw
2022/07/14(木) 19:51:42.67ID:/4X/rYOa
>>243
レスするならちゃんと反論したら?
読解力ガーとか低脳が顔真っ赤になりながらレスしても虚しいだけだろw
2022/07/14(木) 20:59:57.30ID:jjxIhgjT
スレ違い自演連投荒らしが誰何に反応して身元確定したので新スレで書き込み禁止されたのを「いじめ」だと言い出す被害妄想っぷりが狂人クオリティ
2022/07/14(木) 21:03:26.05ID:mZF8rPll
>>244
IDコロコロ変えるコロ助が何をファビョってんの?w
もう>>238で終了してんだよ、公式読んで理解できないなら反論も糞も無いじゃんw
認めたくないだろうけど、そこは認めようよ、君は低能だから理解できなわけよww
別に理解できなくてもいいじゃん、joinって変だな、何でなんだろう?ってずーっとファビョってればいいじゃん
こういう経緯でこうなってんだよってリンクまで貼ってんのに、それで理解できずにそんなことなーい!って
言われてもさ、公式に文句言えばいいじゃん、ほんと低能だなぁーw 何と戦ってんの?w
2022/07/14(木) 21:41:30.43ID:1UfgY23j
>>246
どっちが読解力ないだか...
もう一度書いとくね、

> これお前の意見だろ?
>> 文字列にするのだから文字列のメソッドであるべき

公式もリンク先も関係なくお前がアホなだけw
2022/07/14(木) 21:53:51.76ID:GadqcTvG
これ読むと>>237に同意せざるを得ないな
https://stackoverflow.com/questions/493819/
2022/07/14(木) 22:25:47.47ID:mZF8rPll
>>247
うん?じゃあ文字列のメソッドでなくてもいいの?
どーやったらそう読めるんだよwwwwバーーカwww
2022/07/14(木) 22:56:25.17ID:vHzneFGJ
>>249
まだ恥の上塗りするのかよw
「文字列にするのだから」がアホだって話な
>>235-236 のツッコミみたら普通わかるだろ
2022/07/14(木) 23:02:08.05ID:53iLOIJP
わざと馬鹿のフリしてんのかな?どっちにしても馬鹿にしか見えないが。
2022/07/14(木) 23:02:36.06ID:pmXXTX87
読んだけどseqは引数な方が良いってだけで

> 文字列にするのだから文字列のメソッドであるべき
こんなこと書いてない
2022/07/14(木) 23:04:03.42ID:mZF8rPll
>>250
君が読解力無いのは分かったから、それよりIDコロコロ変えているのバレちゃったねw
>>247の「もう一度書くね」でヘマしちゃったのはやっぱりファビョってるからなの?ww
これ全部オマエだろ、何連投してんだよw顔真っ赤なのどっちだよって話だよ
いやー自作自演バカって本当にいるんだなぁー アホなりに頑張ってるのは分かるけど低能だから
全部台無しだわぁ〜ww アホだからすぐバレちゃうwww
そのIDコロコロ変えるようになった経緯を思い出せよ、まともにやるとすぐ負けちゃうからだろ?
自作自演で勝ってる感が欲しかったけど、それも手に入りませんでしたぁ〜w 恥の上塗りって
自分のこと言ってんのかよww 全部ブーメラン!おまえは民主党かよってw
2022/07/15(金) 01:28:28.52ID:wi0x7exo
すごいチー牛顔引き攣らせて笑ってそう
2022/07/15(金) 03:30:42.52ID:MdZ2tfzQ
>>253
とうとう壊れちゃったw
2022/07/15(金) 07:32:09.26ID:mXh/FC5X
なんかこわい
2022/07/15(金) 12:20:14.72ID:Y2OiW31R
こんな人生終わってそうな社会不適合者でも稼げちゃうのがIT業界なんだよな

人生終わってそうな外見のやつばかりなのに、金が稼げるからジョーカーみたいなのが生まれにくい
2022/07/15(金) 14:11:44.43ID:78D2/2K4
iterableを定義してそこにjoinメソッドを追加するだけでよかったのにね

joinメソッドは今どきこんな設計する人がいたらすぐ外されても文句言えないレベル
2022/07/15(金) 14:28:12.17ID:MVHCgXBf
当人ちゃうけどまず >>234 のリンク先読んどこう
2022/07/15(金) 15:21:03.77ID:cpkuMkfN
俺も当人ちゃうけどそのリンク先読んでも>>258に同意するわ
2022/07/15(金) 15:35:58.33ID:rlSsskU5
ずいぶんとお利口な超初心者の集まりだこと…
2022/07/15(金) 15:52:36.65ID:cpkuMkfN
超初心者が質問できるスレであって住人全員が超初心者というわけじゃないよ
2022/07/15(金) 17:56:14.83ID:qGSK8RbV
メーリングリストのログ追ってみたが議論らしい議論は全くなかったぞコレ
Tim Petersが案をだして、じゃそれでくらいのノリ
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

教えていただきたく。よろしくお願いします。
266デフォルトの名無しさん
垢版 |
2022/07/15(金) 23:42:53.55ID:Fa+NFDEY
>>258
実際bytesとかでjoin相当のことをしようとしたらどうすればいいんだろう?itertools使えばなんとかなりそうだけど
2022/07/16(土) 00:03:25.16ID:HB6roBeY
__add__かjoin専用メソッドがある前提でひたすらinject
それらが型変換できないケースだと失敗とか
2022/07/16(土) 00:23:45.26ID:fjBrDVen
>>265
少なくとも今試しても記事の通りできた
詳しくどうやったか開示しないと分からん
269デフォルトの名無しさん
垢版 |
2022/07/16(土) 10:38:02.22ID:5edRFReA
>>268
詳しくといっても難しいですが
pythonはAnacondaでインストール。
新規pyファイルはサクラエディタと紐づいています。
2022/07/16(土) 14:30:48.70ID:7RINBtm9
>>269
そしたらサクラエディタに関連付けしてるからだろうね
新規作成は関連付けされてるアイコンとファイルタイプ名称で表示される
271デフォルトの名無しさん
垢版 |
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'>
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
みたいなことか
274デフォルトの名無しさん
垢版 |
2022/07/16(土) 19:51:21.14ID:GdTpN6Df
bytes で join ってさ
b''.join(bytes_data)
で良いんじゃね
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

は誤差が出て計算できない。
何とかならない?
276デフォルトの名無しさん
垢版 |
2022/07/17(日) 12:39:58.12ID:Un2LAdnT
emaxの最大値は999999999999999999みたいだからどうにもならんのでは
2022/07/17(日) 15:02:05.03ID:QiBhjgar
emacs
2022/07/17(日) 15:16:14.73ID:VAtjDotR
>>276
10^10^100000
https://ideone.com/PIILdo
279デフォルトの名無しさん
垢版 |
2022/07/17(日) 15:22:34.18ID:QiBhjgar
>>266
>>274
https://ideone.com/cEpoSf
# joinの問題と言うよりもlist(b'hoge')の方に問題が在る訳だな
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で回すのですが、まとめてどさっと渡したいです
2022/07/17(日) 16:13:54.34ID:eihDCF0F
>>280
https://www.tech-teacher.jp/blog/python-map/
282デフォルトの名無しさん
垢版 |
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の実用性がかなり失われるよね
284デフォルトの名無しさん
垢版 |
2022/07/17(日) 17:58:37.99ID:Fxi+TDuE
>>280
素直にnumpy使う

ではツマランのでこんなのはどうだろう

def matome(func):
__def process(*list_args):
____return [func(*args) for args in zip(*list_args)]

__return process
@matome
def f(a):
__return a+1
a = [1, 2, 3]
print(f(a))
285280
垢版 |
2022/07/17(日) 18:36:03.96ID:jWrWgoZv
なるほど、map関数や*list_argsなどのやり方があるのですね
これはどちらもforよりは軽くなりそうな感じはします

>>284
素直にnumpy、がそもそもわかってないのですが、教えていただけませんか?
2022/07/17(日) 19:23:47.87ID:pr2Iyzs9
>>284
無駄な処理があるので修正しときますね
def matome(func):
____def process(list_arg):
________return [func(list_item) for list_item in list_arg]
____return process

>>285
ググレば一発で出てきますよー
import numpy as np
a = np.array([1,2,3])
a+1
_.tolist()
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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