Pythonのお勉強 Part68

レス数が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
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だって今でもいろんな所で使われ続けている

それらは今更新しいもので置き換えるコストもかけてられないし、
今後も使い続けられるだろうけど、新規で何かを作ろうとは思わない
単に保守され続けるだけ
2022/11/22(火) 22:45:50.82ID:zrKnB8vd0
とにかく動くサービスつくりたいならTSかRuby(Rails)と思うけどな
べつにひとつの言語に縛られるわけじゃなしよくわからん
2022/11/22(火) 23:08:58.16ID:OdNuXGxn0
この急落ぶり
https://www.itmedia.co.jp/news/articles/2211/18/news120.html
2022/11/22(火) 23:13:41.08ID:9/2xLKFJ0
JavaScriptが1位を独走するようなサンプリング空間はどうでもいい
2022/11/22(火) 23:15:48.79ID:KtDRh9XQ0
世の中で一番使われている言語って何だろう
969デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
垢版 |
2022/11/22(火) 23:17:45.60ID:ntrRKrLv0
英語
2022/11/22(火) 23:19:46.87ID:KtDRh9XQ0
https://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/004/siryo/attach/1379956.htm

ううむ・・・w
2022/11/22(火) 23:22:54.71ID:2AIJDKvEM
半島系帰化人のように
ゲリ便をジュルジュルと食べる!
おいしい!
2022/11/22(火) 23:33:20.26ID:JScWF1cX0
>>968
そらC言語よ
2022/11/22(火) 23:34:19.78ID:9/2xLKFJ0
最もライトな層まで含めると、VBAとかになるじゃない?
2022/11/22(火) 23:39:13.16ID:tXIkHCtk0
今の時代は、HTML・CSS・JavaScript がかなり使われているだろうなあ
2022/11/22(火) 23:42:03.33ID:9/2xLKFJ0
うちのサイトは今でもhtml手書きだけど、自動生成でないhtmlなんてごく僅かだろう
2022/11/22(火) 23:42:27.60ID:KtDRh9XQ0
開発現場で使われている言語で評価するか、
稼働しているシステム上の実行イメージ数で評価するか、
稼働でみると意外にCobolやFortranが浮上してきたりするかも
ファームまで含めればC言語なのかな?(アセンブラは除くとして)
2022/11/22(火) 23:49:09.81ID:9/2xLKFJ0
動いてる、で勘定するとJavaの35億なんじゃないの
新たにコードを書いている件数でないと
2022/11/22(火) 23:56:29.46ID:lS6Dux4J0
C#じゃないの
Windowsマシン一台につき何十本単位で常時動いてるわけで
2022/11/23(水) 00:08:36.59ID:GanADpvO0
intel CPUのマイクロコードはもっと動いてるな
動いてる禁止
2022/11/23(水) 00:11:55.71ID:aRKGS4gV0
Windows機とスマホとどちらが多いかな・・
2022/11/23(水) 00:32:13.84ID:GanADpvO0
スマホで開発してる人はおらんので無視してok
2022/11/23(水) 00:33:38.11ID:aRKGS4gV0
そうなると開発環境が入っていないPCは除外しないといけなくなる
2022/11/23(水) 07:35:48.94ID:+HF9qHMxd
>>969
中国語だぞ
2022/11/23(水) 07:44:50.17ID:z/dj8+x2M
cscはVista以降標準だから
985デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
垢版 |
2022/11/23(水) 11:05:03.50ID:DxhXFxCJa
>>964
ほんそれ

>>965
だから新規でわざわざ覚える必要無い言語のphaseになってるって話
2022/11/23(水) 11:15:16.02ID:GanADpvO0
過去に作ったperlのツールに機能追加とかしたくなった時に、
折角だからpythonに移植したりする

正規表現周りはperlの方が優れてる気がする
987デフォルトの名無しさん (ワッチョイ a361-Os4M)
垢版 |
2022/11/24(木) 09:39:50.37ID:mTxkC9sF0
l = [0, 1 ,2 ,5, 7]
n = 4

ln = [0, 1, 2, 4, 5, 7]

数値比較をして、prev <= x <= next位置に挿入する
myInset()関数作りたいんだけど、ループと代入連打して泥臭く書いてくしかないですか?

ちなみにリストは全部int型、重複あり、ソート済み
入力値もint型、既存要素と同値ありです
2022/11/24(木) 09:46:01.19ID:pE6vyhc80
追加してソートしたほうがはやそう
2022/11/24(木) 09:47:30.34ID:hkNOvNmL0
bisectとlist.insert
2022/11/24(木) 09:48:18.83ID:pE6vyhc80
手順を守りたいならfindとinsertでしょうね
991デフォルトの名無しさん (ワッチョイ ef33-mBx9)
垢版 |
2022/11/24(木) 09:50:39.01ID:A6xfpKBe0
れすつくんはやすぎん?
2022/11/24(木) 09:51:07.83ID:8kN4Xh6N0
元が重複ありソート済みなら>>988で問題ないんでないの?
2022/11/24(木) 09:51:12.68ID:rkq3RdV60
殆どソートされてるものをソートするコストは低そう
やろうとするのはソート処理の一部を自前で書こうというもので、
既製品を使った方が簡単で速い
2022/11/24(木) 10:24:14.77ID:tW757r1O0
>>987
import bisect
bisect.insort(l, n)
リストに挿入ならこれ一発で
995デフォルトの名無しさん (JP 0Haf-Os4M)
垢版 |
2022/11/24(木) 10:31:16.11ID:un5pV6iGH
一見面白そうな話かと思ったが普通にappend後ソートしかなかった
996デフォルトの名無しさん (ワッチョイ ef33-stRS)
垢版 |
2022/11/24(木) 10:55:43.29ID:A6xfpKBe0
こういう時は大抵、insort_leftみたいに専用のモジュール使った方がだいぶ早い
997デフォルトの名無しさん (オッペケ Srdf-zeL/)
垢版 |
2022/11/24(木) 16:38:02.61ID:svdfhu67r
append後ソートは流石に無駄が多すぎ
上で答え出てるが木構造ベースのアルゴリズム使えばO(logN)で挿入出来る
2022/11/24(木) 17:21:29.41ID:rkq3RdV60
そういうのは速度で困ってから考えればいい
999デフォルトの名無しさん (ブーイモ MM02-p73K)
垢版 |
2022/11/24(木) 18:42:35.06ID:w9TFu4+VM
速度に困りそうなときはbisect、一発動けばいいときはsortで済ませちゃうかもな
bisectは標準モジュールだし、辞書でC++のmapのlower_bound/upper_bound相当のことをしたいときにも使えるから知っていて損はないと思うけどね
本当に速度を追求するなら、Pure PythonじゃないB treeとかを使いたくなるよね。
めんどくささは速度を追求するほど上がっていくから確かにどの程度速度で困っているかによってベストの実装は変わるとは思うけど。
2022/11/24(木) 21:18:28.52ID:gexHL2NZ0
1000
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 70日 2時間 26分 2秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。