Pythonのお勉強 Part68
レス数が1000を超えています。これ以上書き込みはできません。
!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 すみません、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 >>902
そのコードをpythonから読み込んでいますか? >>902
SyntaxErrorなんで構文に間違いがあるんだけど、ここじゃ正確なコードが貼り付けられないから、自力解決を目指すか、外部サービスを利用してコードを晒すかしてください >>902
ファイルパスの¥を2個つけないとエスケープ文字になるんじゃ うろ覚えで関数名だけわかってるような状態で
関数の使い方がよくわからなくなることがある
たまにドットが前に来るやつあるじゃん
kansu(引数)
.kansu(引数)
aaa.kansu()
モジュールがどうとかいう話なんだろうけど
こういうのみんなどうやって覚えてるの? 組み込み関数は全部覚える
そこに無ければオブジェクトのメソッド
.sort()とsorted()みたいに両方にあったりもする IDEを頼るのです
ここかここがええんかと関数名をちょっとタイプしてみてああんそこはダメぇ(OKという意味)と出たシグネチャを使えばよい >>902
LpkUnpacker.pyがあるディレクトリまで移動して
python LpkUnpacker.py だけでやってみて
usage:ほにゃららってでてるか? https://mobile.twitter.com/yukiya285/status/1594225137171451904
ゆきや@創薬エンジニア
@yukiya285
機械学習の分野でPythonがよく使われる理由は、ざっくり言ってしまうと、理論の根底にある数式が理解できていなくても機械学習ができるから、ということになります。理論の理解は後回しにして、とりあえずいろいろやってみる、ということができるのがPythonということになります。
https://twitter.com/5chan_nel (5ch newer account) 理由が理由になってなくね?
NumPyやsklearnのようなお手軽ライブラリが充実してることが理由じゃないのか cをやろうがアセンブラをやろうが
誰かが作った技術の上でしょ
スクリプト言語を使う1番の理由は生産性の高さだよ Pascal なんかは
プログラミング教育を意識して作られてたものだが
真逆の発送のツイートだな >>913
どうだろ
俺は数学できるけど早いcが書けないからライブラリに頼れるpython選んだのが始まり ライブラリとか言っても判らない人向けの説明なんでしょ やってみるのはいいことだけど
ライブラリ任せにするのは他力過ぎて草 ライブラリ最高や!ワイよりちゃんとした実装してるしな。ワイが書く必要なんて無いんや………
って気持ちになるから嫌い ライブラリ任せにするのはダメな人はコンパイルはコンパイラに任せずに自分でやってるのかな... もしかしてライブラリに使われてるcのソース読まない人たちばかりなのw 必要ならライブラリのソースも読むけど普通は読まんな
で>>924はコンパイラのソースを読んでるの?w >>916
おめーらホント視野の狭いクズばっかだな
最適な言語を使うのは
プログラマの基本中の基本だぞ?
それとスプリプト言語使う仕事なんてのは
どんなバカでも出来る仕事であって、
それだからこそ、プログラマはスプリプト言語を使う機会は少ないのだよ。
おめーのようなバカは
プログラマ気取りの
ただのコーダーだw
半島ヘかえれよチョソ! >>926
ライブラリの話からなんでコンパイラが関係してくるんだよ
それとコンパイラってソース公開されてたっけ?
読めるかどうか自信ないけど、公開されてんなら読んでみたい >>928
> それとコンパイラってソース公開されてたっけ?
マジで言ってるのか?
そんなレベルでよく
> もしかしてライブラリに使われてるcのソース読まない人たちばかりなのw
なんて煽れるもんだな >>929
どっちだと思う?w
ここではっきりさせないほうがあなたのためになるんだと思うよ >>928
他人の書いたコード任せというのはコンパイラを使うことにも当てはまるからだろ >>930
> それとコンパイラってソース公開されてたっけ?
なんて聞く奴なんてどっちでもいいわw たまにPythonの実装(C言語)を読めるのが正義、みたいに思ってるやつおるけど
大抵の場合は読む必要は無いし、勉強がてら読むか、
ライブラリ使ってて気になる挙動(不具合の可能性があるやつ)に遭遇した時に
実装確認するぐらいじゃね? 最速を争う言語ならコンパイラの実装に寄せて速度を稼ぐのもアリだけど、Pythonでそんなことする意味は1㍉もない >>927
生産性の高さという使い分けの話をしてるのに何を言ってるんだ
プログラマがPythonを使わないと言うならそうなんだろうよ
マ版に帰れよ pythonのC実装ってPyObject*観たらおしまいやで a = [0.2,0.6,0.1,0.3,0.9]
b = ['A','B',C''D,'',E'']
とあって、aを0.5以上ならTrue、違えばFalesの真偽値に変えて、
bからTrueのところだけ抜き出すにはどのように書けば良いですか? 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] >>943
リスト内でfor文とif文使うんですね
ググってそれっぽい感じではあったのですが
Rのノリで書けないかなと困ってました
ありがとうございました >>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]) numpyとかpandasのループの処理を一言に圧縮してしまう書き方は流石だよな >>945
うおお、凄くすっきりしましたね
直感で分かりやすい
ありがとうございます b = b'\xfc\xfc\x8a\xbf\x8e\x9a'
j = b.decode('sjis', 'ignore')
print(j)
↑これと同じ書き方をC/C++もしくはGO言語で教えて下さい
ようは、変換できないバイトは読み飛ばして残りを変換してくれればいいだけなんですけど、
調べても分かりませんでした。 スクリプト言語はマルチプラットフォームで高度な機能を使えるのが強みよね
windowsならMutiByteToWideCharみたいなAPIがあったはず
サクラエディタのソースコードみると良いかも みなさま
ありがとうございます。
エディタのソースコード、確かによさそうですね。
バイナリエディタとか凄い重いファイルでも一瞬で開くので実装参考にしたいですね。
理解できるか分かりませんが・・。
勉強してみます。 愚直に(lib)iconvで変換でいいんじゃない?
止まったら飛ばして変換続けるだけの単純な作業
それかiconvにかわる何かがあれば逆に知りたい 文字コードから文字コードへのmapがちゃんとしてないので、
文字コード変換は本質的に不完全 MSが変な実装したせいだろう
「~」辺りがおかしくなる 間違ったかなり後で修正したので、どっちもありというさらにややこしいことに Ruby では、NKF を使う
Iconvは、Ruby 1.9から非推奨 >>959
NKFを利用する理由とIconvが非推奨な理由を書かなければ、ここでは無駄なレス 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 #=> �漢字 Pythonにボロクソに負けて悔しいRubyキチガイ
Rubyはもう終わってるから出てくるなよ てか今ruby使う意味あるの?
どう考えても乗り換えた方がいいよね?
どう贔屓目に見ても衰退していく一方でしょ? Ruby on Railsは今でも生き残ってるのでrubyも使われていると言えなくもない
そんなこと言ったら、perlだって今でもいろんな所で使われ続けている
それらは今更新しいもので置き換えるコストもかけてられないし、
今後も使い続けられるだろうけど、新規で何かを作ろうとは思わない
単に保守され続けるだけ とにかく動くサービスつくりたいならTSかRuby(Rails)と思うけどな
べつにひとつの言語に縛られるわけじゃなしよくわからん JavaScriptが1位を独走するようなサンプリング空間はどうでもいい 半島系帰化人のように
ゲリ便をジュルジュルと食べる!
おいしい! 最もライトな層まで含めると、VBAとかになるじゃない? 今の時代は、HTML・CSS・JavaScript がかなり使われているだろうなあ うちのサイトは今でもhtml手書きだけど、自動生成でないhtmlなんてごく僅かだろう 開発現場で使われている言語で評価するか、
稼働しているシステム上の実行イメージ数で評価するか、
稼働でみると意外にCobolやFortranが浮上してきたりするかも
ファームまで含めればC言語なのかな?(アセンブラは除くとして) 動いてる、で勘定するとJavaの35億なんじゃないの
新たにコードを書いている件数でないと C#じゃないの
Windowsマシン一台につき何十本単位で常時動いてるわけで intel CPUのマイクロコードはもっと動いてるな
動いてる禁止 そうなると開発環境が入っていないPCは除外しないといけなくなる >>964
ほんそれ
>>965
だから新規でわざわざ覚える必要無い言語のphaseになってるって話 過去に作ったperlのツールに機能追加とかしたくなった時に、
折角だからpythonに移植したりする
正規表現周りはperlの方が優れてる気がする l = [0, 1 ,2 ,5, 7]
n = 4
ln = [0, 1, 2, 4, 5, 7]
数値比較をして、prev <= x <= next位置に挿入する
myInset()関数作りたいんだけど、ループと代入連打して泥臭く書いてくしかないですか?
ちなみにリストは全部int型、重複あり、ソート済み
入力値もint型、既存要素と同値ありです 手順を守りたいならfindとinsertでしょうね 元が重複ありソート済みなら>>988で問題ないんでないの? 殆どソートされてるものをソートするコストは低そう
やろうとするのはソート処理の一部を自前で書こうというもので、
既製品を使った方が簡単で速い >>987
import bisect
bisect.insort(l, n)
リストに挿入ならこれ一発で 一見面白そうな話かと思ったが普通にappend後ソートしかなかった こういう時は大抵、insort_leftみたいに専用のモジュール使った方がだいぶ早い append後ソートは流石に無駄が多すぎ
上で答え出てるが木構造ベースのアルゴリズム使えばO(logN)で挿入出来る 速度に困りそうなときはbisect、一発動けばいいときはsortで済ませちゃうかもな
bisectは標準モジュールだし、辞書でC++のmapのlower_bound/upper_bound相当のことをしたいときにも使えるから知っていて損はないと思うけどね
本当に速度を追求するなら、Pure PythonじゃないB treeとかを使いたくなるよね。
めんどくささは速度を追求するほど上がっていくから確かにどの程度速度で困っているかによってベストの実装は変わるとは思うけど。 レス数が1000を超えています。これ以上書き込みはできません。