Pythonのお勉強 Part68

レス数が950を超えています。1000を超えると書き込みができなくなります。
2022/09/15(木) 18:52:26.67ID:VqLViKoX0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら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/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その57
http://mevius.5ch.net/test/read.cgi/tech/1653225908/

〇前スレ〇
Pythonのお勉強 Part67
https://mevius.5ch.net/test/read.cgi/tech/1653540315/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ​
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
865デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/16(水) 17:39:41.33ID:z+sJwdsYa
アンカ間違ってた >>854
2022/11/17(木) 17:09:06.64ID:HF5V3LeY0
import re
str = 'abc123456defg'
s = 'bc'
m = re.search(f'{s}(\d{2})', str)
if m:
 print(m.groups()[0])

\d{2}だと12が表示される
\d{1}とか\d{6}だと想定と違う
なんで?
2022/11/17(木) 17:18:01.85ID:AwlB4ADs0
そりゃ、想定が間違えているから、以外になんか考えられるのかい?
何を想定していてどうなったかも説明しないで、想定と違う!って
言われてもね、人に説明する気も無けりゃ教えを乞う態度でもないし
何したいの?日記ならよそでやってくれる?
2022/11/17(木) 17:57:04.97ID:WlhESVTj0
>>> f'{s}(¥d{2})'
'bc(¥d2)'
2022/11/17(木) 18:01:06.12ID:F2Az3Gmh0
インデントが全角スペースなのが全てを表してる
2022/11/17(木) 18:02:37.66ID:HF5V3LeY0
f文字列の中で{m,n}を使うにはどうすれば
2022/11/17(木) 18:20:55.05ID:OILH8ycX0
口のきき方覚えてから出直せ
2022/11/17(木) 18:28:04.25ID:qm+2WY7I0
まあまあ、お勉強スレなんだし未熟者同士で問題解決していくスタンスで良いんじゃないの
2022/11/17(木) 18:31:28.74ID:p1aORMOX0
そんなイライラしなくても{{´·ω·`}}
2022/11/17(木) 18:42:18.14ID:HF5V3LeY0
>>873
できた
2022/11/17(木) 19:51:50.25ID:SY2MYyO/0
f文字列で¥とか/区切りの一部だけを取るような事出来ないのかな?
splitしてスライスで取るのはどうも好かん
876デフォルトの名無しさん (ワッチョイ c533-BvCT)
垢版 |
2022/11/17(木) 21:45:06.27ID:SeoZPm6s0
>>1>>866
> ★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
>   ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
> ttps://techiedelight.com/compiler/  Run Code機能あり。
> ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
> ttp://pastebin.com/     まずまずシンプル。
> ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
2022/11/17(木) 21:54:06.61ID:HF5V3LeY0
それも必要悪だな
貼った先が無くなった後でログを見た人に何の知見も残せない
2022/11/17(木) 23:08:46.05ID:kmneQuTyH
>>876
>デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
一回 python を選択すれば、あとはずっと選択したpythonのままになりますよ
2022/11/17(木) 23:09:37.45ID:kmneQuTyH
>>877
いまのところ ideone はずっと消えずに残っていますよ
https://mevius.5ch.net/test/read.cgi/tech/1434079972/
2022/11/17(木) 23:12:16.09ID:lsW0mIad0
何年くらい残れば良いんですかい?
2022/11/17(木) 23:18:26.59ID:HF5V3LeY0
外部を利用する根拠がインデントの崩壊だけなら、崩壊していないのだから不要
なるべく単体で完結していた方がいい

コードが長いとか、修正後のコードと比較したいとかになると、
さすがに掲示板の機能を超える
2022/11/17(木) 23:37:59.57ID:lsW0mIad0
そういうのは公開する本人が決めれば良いのでは
2022/11/17(木) 23:48:46.20ID:mPrTa5cw0
今更ここで議論する課題でもない
この件はペンディングとして、運用時に自己判断でよいだろう
884デフォルトの名無しさん (ブーイモ MM4b-5kBA)
垢版 |
2022/11/18(金) 01:00:39.04ID:pHizXfulM
短いコードなら直接貼ったほうが断然いいわな
885デフォルトの名無しさん (ワッチョイ ad2c-WM47)
垢版 |
2022/11/18(金) 01:14:15.49ID:E2GzXrNb0
日付(○年○月○日 ○時○分)を抽出してクリップボードにコピーするのってどんな感じでやればいいですかね…
2022/11/18(金) 01:26:07.35ID:wTg9qmzl0
何からだよ
2022/11/18(金) 02:58:16.10ID:q5cRZ16n0
コピーはコマンドでできるから
Windowsならcopy、Macならpbcopy
テキスト抽出して外部コマンド実行するだけ
2022/11/18(金) 09:55:43.93ID:Wj1K/ZC10
例えば、Ruby でクリップボードを使うなら、

あらかじめ、クリップボードへ「 あい 」を入れておいてから、
以下のスクリプトを実行すると、
文字列の前後にある、空白類が削除されて「あい」となる

ただし、RubyはUTF-8 だから、Windows のCP932 と変換する必要がある

# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
2022/11/18(金) 11:23:40.68ID:P6oHPIQ5M
ググったらpyperclipって便利なモジュールがあるらしいよ
前レスから予想するにウィジェットの日付けをメモ帳に貼り付ける感じかな
ウィジェットからのデータ取得はウィジェット作成時にStringVarを関連付けてget,setで取得すれば良い
ログを残すならファイル入出力でやるべきではと思うけど
2022/11/18(金) 12:03:10.69ID:r5yXYIm80
>>888
2022/11/18(金) 12:36:54.85ID:xtaMWlke0
このrubyの人はpython使ってるの?
892デフォルトの名無しさん (ワッチョイ 4b5f-4ilx)
垢版 |
2022/11/19(土) 00:25:37.14ID:GBhwsA7a0
すみません、質問いいですか?
2022/11/19(土) 00:47:22.64ID:UL/detO70
rubyの人最近見なくなったと思ったら
また自己主張してきたな
2022/11/19(土) 11:12:56.68ID:mOhQy7yjM
半島人は日本人女性を強姦しまくってる!
895デフォルトの名無しさん (ワッチョイ 0610-zeL/)
垢版 |
2022/11/19(土) 11:38:44.50ID:N2zY4TUb0
千葉県民に喧嘩売ってんのかコラ
896デフォルトの名無しさん (ワッチョイ 5701-kfYZ)
垢版 |
2022/11/19(土) 12:30:11.97ID:o7Lf802R0
千葉県は恐ろしい田舎なうえ、今もドンドン衰退してる最中。
でも、関東以外の人はそんなこと知らないから、東京の一部みたいな顔できるよ。
2022/11/19(土) 12:31:01.14ID:xRYqKE7Q0
横須賀市民 「東京原人と一緒にしないでくれ」
898デフォルトの名無しさん (ワッチョイ 5701-kfYZ)
垢版 |
2022/11/19(土) 12:43:32.19ID:o7Lf802R0
逆に考えることもできるよ。
電車一本で東京に出れる田舎って最強。
みたいな。
899デフォルトの名無しさん (JP 0H43-NYGE)
垢版 |
2022/11/19(土) 13:00:44.68ID:A7QHTxNqH
ぶぼぼ
2022/11/19(土) 13:04:21.61ID:zkXQWCUr0
沿線の人だけやん
901デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
垢版 |
2022/11/19(土) 16:23:26.89ID:F8GIHVyHa
久里浜も上総一ノ宮も似たようなもんやろ
2022/11/20(日) 02:18:52.83ID:Wzaj0Q6e0
すみません、python超初心者なのですが
ttps://github.com/ihopenot/LpkUnpackerのpython LpkUnpacker.py /path/to/lpk outputdir /path/to/config.jsonのコードを使いたいのですが、何回やっても

python LpkUnpacker.py "C:\11302997995514316369.lpk" "C:\aaaa" "C:\config.json"
^^^^^^^^^^^
SyntaxError: invalid syntaxのエラーが出てできません。

どうかご教授の程よろしくお願いいたしますm(__)m
2022/11/20(日) 02:34:00.03ID:TRWjspKo0
>>902
そのコードをpythonから読み込んでいますか?
2022/11/20(日) 04:33:04.83ID:ehdgoKhb0
>>902
SyntaxErrorなんで構文に間違いがあるんだけど、ここじゃ正確なコードが貼り付けられないから、自力解決を目指すか、外部サービスを利用してコードを晒すかしてください
2022/11/20(日) 06:11:26.69ID:ZkE4F4/w0
>>902
ファイルパスの¥を2個つけないとエスケープ文字になるんじゃ
2022/11/20(日) 09:38:29.85ID:f5Y3Vp3X0
Cドライブのルートなんかに置くなよ
907デフォルトの名無しさん (ワッチョイ 6290-kfYZ)
垢版 |
2022/11/20(日) 12:40:41.69ID:zjEDBX2J0
うろ覚えで関数名だけわかってるような状態で
関数の使い方がよくわからなくなることがある
たまにドットが前に来るやつあるじゃん

kansu(引数)
.kansu(引数)
aaa.kansu()

モジュールがどうとかいう話なんだろうけど
こういうのみんなどうやって覚えてるの?
2022/11/20(日) 12:46:02.71ID:+Dw5cfeT0
組み込み関数は全部覚える
そこに無ければオブジェクトのメソッド
.sort()とsorted()みたいに両方にあったりもする
2022/11/20(日) 13:01:55.30ID:7a4yJys50
IDEを頼るのです
ここかここがええんかと関数名をちょっとタイプしてみてああんそこはダメぇ(OKという意味)と出たシグネチャを使えばよい
2022/11/20(日) 13:12:36.84ID:oY/pzgY90
関数一覧を印刷した下敷きとか無いのか
2022/11/20(日) 13:14:27.88ID:AxU0uBeT0
>>907
ググる
2022/11/20(日) 13:35:47.19ID:mq06SBbE0
>>902
LpkUnpacker.pyがあるディレクトリまで移動して
python LpkUnpacker.py だけでやってみて
usage:ほにゃららってでてるか?
913デフォルトの名無しさん (ワッチョイ b684-qpCx)
垢版 |
2022/11/20(日) 16:06:56.79ID:V6m7XEpp0
https://mobile.twitter.com/yukiya285/status/1594225137171451904

ゆきや@創薬エンジニア
@yukiya285
機械学習の分野でPythonがよく使われる理由は、ざっくり言ってしまうと、理論の根底にある数式が理解できていなくても機械学習ができるから、ということになります。理論の理解は後回しにして、とりあえずいろいろやってみる、ということができるのがPythonということになります。
https://twitter.com/5chan_nel (5ch newer account)
2022/11/20(日) 16:21:51.45ID:u5cvtrdO0
考えるな、感じるんだ!
915デフォルトの名無しさん (オッペケ Srdf-zeL/)
垢版 |
2022/11/20(日) 17:32:04.11ID:DbVvLhq7r
理由が理由になってなくね?
NumPyやsklearnのようなお手軽ライブラリが充実してることが理由じゃないのか
2022/11/20(日) 17:50:29.42ID:ZkE4F4/w0
cをやろうがアセンブラをやろうが
誰かが作った技術の上でしょ
スクリプト言語を使う1番の理由は生産性の高さだよ
2022/11/20(日) 17:55:33.30ID:mdre8ZhB0
Pascal なんかは
プログラミング教育を意識して作られてたものだが
真逆の発送のツイートだな
2022/11/20(日) 22:48:59.09ID:LvscILW00
>>913
どうだろ
俺は数学できるけど早いcが書けないからライブラリに頼れるpython選んだのが始まり
2022/11/20(日) 23:19:03.19ID:rB1ul6QT0
ライブラリとか言っても判らない人向けの説明なんでしょ
2022/11/20(日) 23:22:17.03ID:oxX6pjp40
やってみるのはいいことだけど
ライブラリ任せにするのは他力過ぎて草
2022/11/21(月) 00:00:01.51ID:MXiqZevU0
ライブラリ最高や!ワイよりちゃんとした実装してるしな。ワイが書く必要なんて無いんや………

って気持ちになるから嫌い
2022/11/21(月) 00:08:01.41ID:KDDXOYAA0
ライブラリ任せにするのはダメな人はコンパイルはコンパイラに任せずに自分でやってるのかな...
2022/11/21(月) 00:08:51.60ID:5iZ5HFRw0
人生は短いんやで
2022/11/21(月) 00:10:28.72ID:Q4I6Hwd50
もしかしてライブラリに使われてるcのソース読まない人たちばかりなのw
2022/11/21(月) 00:11:26.61ID:Q4I6Hwd50
プププー
2022/11/21(月) 00:52:51.07ID:KDDXOYAA0
必要ならライブラリのソースも読むけど普通は読まんな
>>924はコンパイラのソースを読んでるの?w
2022/11/21(月) 00:54:44.72ID:ZuT5szBi0
>>916
おめーらホント視野の狭いクズばっかだな

最適な言語を使うのは
プログラマの基本中の基本だぞ?

それとスプリプト言語使う仕事なんてのは
どんなバカでも出来る仕事であって、
それだからこそ、プログラマはスプリプト言語を使う機会は少ないのだよ。

おめーのようなバカは
プログラマ気取りの
ただのコーダーだw
半島ヘかえれよチョソ!
2022/11/21(月) 01:09:57.53ID:Q4I6Hwd50
>>926
ライブラリの話からなんでコンパイラが関係してくるんだよ
それとコンパイラってソース公開されてたっけ?
読めるかどうか自信ないけど、公開されてんなら読んでみたい
2022/11/21(月) 01:13:37.10ID:KDDXOYAA0
>>928
> それとコンパイラってソース公開されてたっけ?
マジで言ってるのか?
そんなレベルでよく
> もしかしてライブラリに使われてるcのソース読まない人たちばかりなのw
なんて煽れるもんだな
2022/11/21(月) 01:15:39.89ID:Q4I6Hwd50
>>929
どっちだと思う?w
ここではっきりさせないほうがあなたのためになるんだと思うよ
931デフォルトの名無しさん (ワッチョイ 0610-zeL/)
垢版 |
2022/11/21(月) 01:23:32.91ID:fZMCNRrt0
>>928
他人の書いたコード任せというのはコンパイラを使うことにも当てはまるからだろ
2022/11/21(月) 01:35:32.06ID:KDDXOYAA0
>>930
> それとコンパイラってソース公開されてたっけ?
なんて聞く奴なんてどっちでもいいわw
2022/11/21(月) 01:57:19.90ID:mQv3uxAK0
たまにPythonの実装(C言語)を読めるのが正義、みたいに思ってるやつおるけど
大抵の場合は読む必要は無いし、勉強がてら読むか、
ライブラリ使ってて気になる挙動(不具合の可能性があるやつ)に遭遇した時に
実装確認するぐらいじゃね?
2022/11/21(月) 02:12:22.30ID:5iZ5HFRw0
最速を争う言語ならコンパイラの実装に寄せて速度を稼ぐのもアリだけど、Pythonでそんなことする意味は1㍉もない
2022/11/21(月) 06:45:31.12ID:rqiuWDpI0
>>927
生産性の高さという使い分けの話をしてるのに何を言ってるんだ
プログラマがPythonを使わないと言うならそうなんだろうよ
マ版に帰れよ
2022/11/21(月) 07:28:42.29ID:+ijCE8q30
>>935
さわるなよ...
2022/11/21(月) 08:01:45.80ID:ctQ1pKCNM
ノーガードで背中向き合わせて殴り合うのやめろよ
2022/11/21(月) 12:00:35.94ID:JkH4gCyV0
伸びてると思ったらまたいつもの彼だった
939デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
垢版 |
2022/11/21(月) 14:37:06.50ID:LzW8OiBha
pythonのC実装ってPyObject*観たらおしまいやで
2022/11/21(月) 15:00:05.29ID:V6ODuo3F0
死ぬのか、考え直せ
2022/11/21(月) 17:00:36.18ID:p4sth+TF0
韓国どーたら言ってるスクリプトかと思ってた
2022/11/21(月) 17:55:36.53ID:QoaHhDq70
a = [0.2,0.6,0.1,0.3,0.9]
b = ['A','B',C''D,'',E'']
とあって、aを0.5以上ならTrue、違えばFalesの真偽値に変えて、
bからTrueのところだけ抜き出すにはどのように書けば良いですか?
2022/11/21(月) 18:03:20.26ID:QQ2H2Fut0
a = [0.2,0.6,0.1,0.3,0.9]
b = ['A','B',C''D,'',E'']
c = [y for (x, y) in zip(a, b) if x >= 0.5]
2022/11/21(月) 18:13:38.64ID:QoaHhDq70
>>943
リスト内でfor文とif文使うんですね
ググってそれっぽい感じではあったのですが
Rのノリで書けないかなと困ってました
ありがとうございました
945デフォルトの名無しさん (ワッチョイ 0610-zeL/)
垢版 |
2022/11/21(月) 19:45:08.40ID:fZMCNRrt0
>>942
numpy使えば直感的にできる
a = np.array([0.2,0.6,0.1,0.3,0.9])
b = np.array(['A','B',C''D,'',E''])
print(b[a>=0.5])
2022/11/21(月) 19:59:08.53ID:A4AutIcl0
numpyとかpandasのループの処理を一言に圧縮してしまう書き方は流石だよな
2022/11/21(月) 22:16:33.81ID:QoaHhDq70
>>945
うおお、凄くすっきりしましたね
直感で分かりやすい
ありがとうございます
2022/11/21(月) 22:57:27.68ID:oF3OxSUK0
b = b'\xfc\xfc\x8a\xbf\x8e\x9a'
j = b.decode('sjis', 'ignore')
print(j)
↑これと同じ書き方をC/C++もしくはGO言語で教えて下さい
ようは、変換できないバイトは読み飛ばして残りを変換してくれればいいだけなんですけど、
調べても分かりませんでした。
2022/11/21(月) 23:13:36.69ID:A4AutIcl0
古い言語は文字コード周りは苦手
2022/11/22(火) 00:11:07.60ID:Bp+X7OPb0
スクリプト言語はマルチプラットフォームで高度な機能を使えるのが強みよね
windowsならMutiByteToWideCharみたいなAPIがあったはず
サクラエディタのソースコードみると良いかも
2022/11/22(火) 00:25:18.78ID:+xD7yK0XM
半島系帰化人w
2022/11/22(火) 00:42:24.43ID:slO7/hzp0
みなさま
ありがとうございます。
エディタのソースコード、確かによさそうですね。
バイナリエディタとか凄い重いファイルでも一瞬で開くので実装参考にしたいですね。
理解できるか分かりませんが・・。
勉強してみます。
2022/11/22(火) 01:51:55.36ID:f0vxwxjs0
愚直に(lib)iconvで変換でいいんじゃない?
止まったら飛ばして変換続けるだけの単純な作業
それかiconvにかわる何かがあれば逆に知りたい
954デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
垢版 |
2022/11/22(火) 10:09:35.89ID:E0zMoWY7a
ICUって息してる?
955デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
垢版 |
2022/11/22(火) 10:17:27.77ID:E0zMoWY7a
>>954
自己レス
一応生きてるのか
https://www.nslabs.jp/icu-conversion.rhtml
しかし成績悪そう
2022/11/22(火) 11:34:21.49ID:9/2xLKFJ0
文字コードから文字コードへのmapがちゃんとしてないので、
文字コード変換は本質的に不完全
2022/11/22(火) 11:47:50.42ID:KtDRh9XQ0
MSが変な実装したせいだろう
「~」辺りがおかしくなる
2022/11/22(火) 12:00:04.37ID:9/2xLKFJ0
間違ったかなり後で修正したので、どっちもありというさらにややこしいことに
2022/11/22(火) 12:31:19.51ID:p3XTSB6d0
Ruby では、NKF を使う

Iconvは、Ruby 1.9から非推奨
2022/11/22(火) 12:36:55.88ID:JTJ5aKX00
>>959
NKFを利用する理由とIconvが非推奨な理由を書かなければ、ここでは無駄なレス
2022/11/22(火) 13:19:03.79ID:p3XTSB6d0
Ruby では、UTF-8 がデフォルトなので、
そのバイナリをCP932 として入力・解釈し、CP932として変換・出力すると、
解釈できない文字はデフォルトで、? に置き換えられる

bin = "\xfc\xfc\x8a\xbf\x8e\x9a"
p bin.encoding #=> <Encoding:UTF-8>

bin.encode!( 'CP932', 'CP932', :invalid => :replace )
p bin.encoding #=> <Encoding:Windows-31J>

p bin #=> "\x{FCFC}\x{8ABF}\x{8E9A}"
puts bin #=> �漢字
962デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
垢版 |
2022/11/22(火) 22:26:00.01ID:ntrRKrLv0
Pythonにボロクソに負けて悔しいRubyキチガイ
Rubyはもう終わってるから出てくるなよ
2022/11/22(火) 22:32:18.24ID:XgKPIgaCa
てか今ruby使う意味あるの?
どう考えても乗り換えた方がいいよね?
どう贔屓目に見ても衰退していく一方でしょ?
2022/11/22(火) 22:43:14.72ID:9/2xLKFJ0
Ruby on Railsは今でも生き残ってるのでrubyも使われていると言えなくもない
そんなこと言ったら、perlだって今でもいろんな所で使われ続けている

それらは今更新しいもので置き換えるコストもかけてられないし、
今後も使い続けられるだろうけど、新規で何かを作ろうとは思わない
単に保守され続けるだけ
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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