26/06/22 09:26:08.34 J24Uog3C0.net
>>935
しばらく考えないと分からなかったけど、lambda式でtupleの最終要素を返しているのね。なるほど。
さすがに関数にした方がわかりやすい気もするけど、一般的なやり方というとどうなんだろ。
940:デフォルトの名無しさん
26/06/22 10:48:01.25 8dVE32f00.net
>>935
俺のトークンを恵んでやろう
一般的ではなく、かなり読みにくい書き方です。素直に関数定義するのが無難です。
def adjust(x, y):
q = x / y
return q if q >= 1 else q * 10
starmap(adjust, data)
一行なら、まだこちらの方が分かりやすいです。
lambda x, y: (q := x / y) * (10 if q < 1 else 1)
941:デフォルトの名無しさん
26/06/22 13:21:23.49 ht+MyFY50.net
それマシン語レベルで差があるのかね?
942:デフォルトの名無しさん
26/06/22 14:02:41.15 8dVE32f00.net
それは土木工事で量子論的効果を気にするようなもの
943:デフォルトの名無しさん
26/06/22 15:42:45.38 gBe6h/Yh0.net
量子とはちょっと違うが重力波検出KAGURAの工事は土木じゃないのか
944:デフォルトの名無しさん
26/06/22 17:28:10.89 5J65AePyM.net
ネイティブにコンパイルする言語のような最適化はされないのでマシン語レベルの差は見た目以上にある
945:デフォルトの名無しさん
26/06/22 19:05:54.65 QzzKh9YB0.net
アルゴリズム変えるレベルじゃないとどっちもウンコ
それなら見た目を大事にしたい
946:デフォルトの名無しさん
26/06/22 20:01:37.39 Jw0BHmCl0.net
実行しないと型がわからないとキツイね…
constも欲しい…
947:デフォルトの名無しさん
26/06/22 20:14:35.50 EJKDUUXh0.net
自分はあまり使わないので使い勝手はよく分からないけど、基本的にはFinalを使うんじゃない?
948:デフォルトの名無しさん
26/06/22 20:26:14.71 QzzKh9YB0.net
Finalやdataclass(frozen=True)で書いてmypycとおせばかなり最適化するはず
ユーザコードだけだけど
Mojoで書くのは躊躇するからいっそPython4に採用してくれるとたすかる
949:デフォルトの名無しさん
26/06/22 22:17:29.69 EbJoS5/3M.net
話が噛み合ってないのは果たして型がないからなのか
950:デフォルトの名無しさん
26/06/27 17:23:21.14 16Gi9YVc0.net
s = 'aaa<tag>bbb</tag>ccc<tag>ddd</tag>eee'
をre.findall()して、
['aaa', '<tag>bbb</tag>', 'ccc', '<tag>ddd</tag>', 'eee']
こんな風に分解するにはどうすれば
951:デフォルトの名無しさん
26/06/27 17:47:53.03 YqZ1XcFlH.net
>>950
そういうのはパーサー使ったほうがいい
[ x for x in BeautifulSoup(s) ]
952:デフォルトの名無しさん
26/06/27 18:16:08.89 16Gi9YVc0.net
re.sub()でやることにした
第2引数に関数を渡すという技を今知った
953:デフォルトの名無しさん
26/06/27 18:58:00.66 RfKwwvIa0.net
vscode ipynbでrun allやるとスタックすること多いよね
セル単品で問題ないのに
954:デフォルトの名無しさん
26/06/27 19:00:08.90 cjTi5ZcM0.net
re.splitも使えるかな。BeautifulSoupって名前だけは知っていて使ったことはなかったんだけど、944だけで済むのは強力だね。
955:デフォルトの名無しさん
26/06/27 19:11:58.03 qT6fbACBM.net
どうでもよくね
AIにお願いすりゃいいだけだよ
956:デフォルトの名無しさん
26/06/27 23:42:05.65 Xki4lSth0.net
AIに頼っちゃおしめぇよ
957:デフォルトの名無しさん
26/06/28 10:35:34.94 7lywShnKF.net
本当にやりたいことが
単にトークンに分割したい場合
タグ毎に分割したい場合
意味を解釈したい場合
どれかで答えが変わる質問だと思う
958:デフォルトの名無しさん
26/06/28 10:42:50.32 0DrOAROm0.net
具体的には
<ruby>漢字<rt>ふりがな</rt></ruby>
これを
|漢字《ふりがな》
に置換したい
その為に分解して<ruby>を含む部分だけ処理して置き換えて
みたいに考えてたけど、sub()で一発でやれた
959:デフォルトの名無しさん
26/06/28 15:01:04.38 7lywShnKF.net
青空か