Pythonのお勉強 Part76at TECH
Pythonのお勉強 Part76 - 暇つぶし2ch939:デフォルトの名無しさん
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
青空か


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch