くだすれPython(超初心者用) その36
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その35 http://mevius.5ch.net/test/read.cgi/tech/1496411341/ VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured >>342 >>332 のコードを実行 それだと、>>332 が、どうやって通したのか分からないだろ? リストの中のリストの要素を取り出して、別のリストにしたいのですが、どうすれば良いですか? 例えば list = [[[1, 2, 1],[1, 1, 3]], [[1, 5, 1], [5, 9, 10]], [[ 100, 25, 1], [ 6, 9, 23]]] の2番目の数を順番に取り出して、 a =[2, 1, 5, 9, 25, 9] にしたいのですが… 整数とか文字列だけのリストの操作は 例えば a[0] で 2 を取り出せるとかで分かるんですが、リストの中のリストの要素を操作する方法がさっぱりで… >>349-350 ありがとうございます! こんな簡単に出来るとは… for とか range(len()) とか使ったりして3時間くらい悩んでました…w 本番のHSVにした画像(1500×500)から色相を抜き出す作業をしたらpythonが固まりました。処理が多いんですかね…悩んで書いたコードが全部消えちゃって悲しいですw >>351 pythonは悪くない お前が糞コード書いたから 画像処理は大体、グレースケールにして行うんだけど。 静止画像だから、GPU付け足せば、固まる事も無い。 >>352 わざわざありがとうございます!こちらの方が自分的に理解しやすいのでこちらにしよう… >>354 すみません、取りたいのは色相じゃなくて明度でした グレースケールでも元の画像でも同じ行程数だから重さも変わらないかなーと思ってそのままやっちゃいましたが、グレースケールの方が軽いんですかね… 何かむしろ作業量が増える気がしてw 今自分はBGRからHSVにして、1ピクセルごとの明度を抜き出そうとしてました そのままのサイズでやると、確認のためリストを吐いてもらうときに固まるので、1/10のサイズにしましたがw 1万近い要素を抜き出すことになります グレースケールなら通常画像の1/3で済む。 1万処理で固まるPCは画像処理に向いてないんじゃない。 >>356 あ、そうなんですね…グレーでも明度はそのままだしグレースケールにしてみます!ありがとうございます! あ、リサイズ前の処理はたぶんもっと多いです ピクセル数分だから100万くらい処理しますね まぁインターネットとExcel等をするために買ったPCだから無理もないのかも… その程度の処理で、固まるPC なら、 JavaScript のブラウザゲームなんて出来ないだろ? アプリ開発用PC は、コンパイルとかするから、 普通のPC よりも高性能なものがいる ネタ発言として、 100万処理でもRaspberrypi3にMovidius Neural Compute Stick刺した時より、 劣ってたら駄目だろ。 100万処理の書き出しにフリーズするPCってw 108円から324円で売ってるPentium 4 以下の性能って事なになるぞ。 ゲームはしたことないので分かりませんが、youtubeを2つ同時に動かしながらFlashを見るとちょっと重いですね そうなんですね…他言語にも手を出すなら買い換えるかなあ PCはフリーズしませんよ pythonが止まるんです 正確には、リストの中身をshellにprintしたら、処理中にIDLE自体が応答なしになります 10分放置してもダメでした PC自体は普通に動きます 標準出力への出力は結構重いよ だからnumpyやpandasのような気が利いたライブラリは、データが増えすぎると省略表示する Python 内でメモリオーバーとか、 プログラムにバグがあるとか、 大量のデータをコピーしてるとか 何もプリントせず、プログラムの最後まで到達したかどうかだけを確かめれば? たぶん、Python ではなく、君の勘違い テキスト書き出しに,print()なんて使わない。 確認のprint消して、ファイル書き込み。 それでも、軽量のIDLEが固まる事は無いけどな。 ○ pythonエディターのIDLEが固まる × pythonが固まる 標準出力関数 print さえ、消したらどうにか成るだろう。 >>362-365 そんな仕組みが…print がだめみたいだったですね 1/10の画像サイズで成功したプログラムを元のサイズに直して実行したら成功しました 皆さんのお陰で当初の目的は無事果たせました ありがとうございます 初心者とはいえ、たった50行に3日もかかるとか雑魚過ぎですなw 優秀すぎ。 俺なんて、読み込むモジュール1つ増やしたら3行で一日掛かってる。 10年前のPCで1億の処理回したら7分掛かった。 for i in range(100000000): □print(i,end='') #100000000回 #402.4338073730469[sec] print(402/60)#6.7分 教えてください、 pythonに、 sudo pip install 〜 こういう文字で始まる、 ライブラリを、インストールしたいのですが、 コマンドプロンプトに、コピーしても、 sudoは、内部コマンド外部コマンド〜 みたいな、エラーがでてインストールできません、 sudo pip こんなライブラリをどうやったら、インストールできますか? PCはそんなやり方だけどスマホにはそんなやり方じゃなく python -m pip install 〜 PCにインストールしたいんですが、 OSはwindows7です、 sudo pip〜のライブラリを、どうやったらインストールできますか。 Windows7にはsudoがないので無理です諦めて寝ましょう WindowsならまずAnaconda入れろ そしてAnacondaから絶対に出るな Python関連のインストール操作はすべてAnacondaだけで行え マジレスすると、WindowsでのpipはPowerShellかコマンドプロンプト使ってsudo無しで入れられる PowerShellとかのアイコン選択時に右クリックして「管理者で実行」がsudoの代わり > pip install 「モジュール名」 入れるモジュールによってはVisualStudioとWin10SDKがないとビルド出来ないし、パス設定も面倒だし、 Python3.6系だとUnicodeDecodeErrorでビルドに失敗したりする 初心者で全く意味が分からなければ、whl形式のファイル落としてきてオフラインインストールするか、 他の人のアドバイス通りAnaconda環境に変えた方が楽だと思う 初心者の学習用ならvisual studio入れた方がいいと思うよ インストーラでanaconda入るし interactiveの補完が優秀だから years=[“2015-04-11”,“2016-12-22”] みたいなリストから西暦の下二桁のリストを作成するとき pat=r‘[\d]{2}([\d]{2})‘ tes=[re.findall(pat,i)[0] for i in years] ってやってるんですけど、なんか違和感があります(欲しい形は出てくる) 本当はどうやるのがベターなんでしょうか years=["2015-04-11","2016-12-22"] for i in years: □print(i[2:4].split('-')) データ型がソレなら正規表現はいらないんじゃねえ? sudo は、Ubuntu などの、Linux。 Windows, Mac, Linux など、OS の種類もわからない人には、プログラム開発は無理 Windows10 なら、WSL で、MS Store から、Ubuntu 16.04 を導入すると、 最初から、Python 3.5 が入っている 君のような素人なら、Windows7 なら、Anaconda にこもって、 それ以外のパッケージマネージャーを使わないようにする VirtualBox, Vagrant で、Linux を使うとか、全くわからないだろ? ls, cd, bash とか、Linux のコマンドを知ってるか? インデックスじゃない一時変数の名前に i 使うのやめてくれや 連結したのが欲しいなら、適当な配列tesにでも突っ込めば良い。 >>377-378 require 'date' d = Date.parse('1993-02-24') d.year #=> 1993 Ruby なら、Date 型に変換できる。 Python にも、同様のクラスがあるだろ githubから、 ZIPでダウンロードしてきて、 pythonで作った、pyプログラムとかがあるところに、 ファイルおいたら、ライブラリ使えるようになりました、 ありがとうございました、 少し成長しました! >>377 import datetime years = ['2015-04-11', '2016-12-22'] dates = [datetime.datetime.strptime(year, '%Y-%m-%d') for year in years] lowwer_digits_of_years = [date.strftime('%y') for date in dates] Railsスレのものです。 RailsのDSLがご迷惑をおかけしましたm(_ _)m プログラム全体を、 指定回数繰り返すにはどうしたらいいですか? (前後の議論も読めないようなメクラが使う言語がJulia) >398 シェルスクリプトっていうのがあるのか、 ありがとお。 >>397 おい。「メクラが」はやめろ「メクラも」なら良い >>395 juliaってpythonで書いたコードでも速くなる? リファレンス本が欲しいのですが3系にちゃんと対応している本ってありますか? Pythonはオブジェクトの種類が多すぎて困る イテラブルとイテレータの違いを説明できる人いる? ていうかイテラブルって繰り返し可能っていう意味の形容詞だと思ってたわ >>405 ある程度Pythonでプログラム作成できる初級者レベルの奴なら当然できないと駄目だろうが、 でも、ここは超初心者が大多数だから出来る奴は少ないんじゃないのかな 遊園地なら余裕でイテラブルとイテレータの違いを説明できるから期待して待て iter()で返ってくるオブジェクトがiteratorで iter()によってiteratorを返すようなオブジェクトつまり__iter__()か__getitem__()を実装するようなオブジェクトがiterable objectってことじゃないの つまり[1, 2, 3]はiterable objectで iter([1, 2, 3])がiteratorだろう 俺らのような超初心者は __iter__(),__getitem__(), __next__()のようなのを使うようなことしないだろう シェルスクリプトなのか分からないけど、 import os for a in range(100) : os.system('python test.py') これで、必要な回数プログラム実行できるようになった。 このループを途中で終了したいときは、 どうやればいいんだろ? PyCharmてやつで、プログラム実行してるけど、 これを、いきなり閉じちゃうやりかたでもいい? >>409 このスレでは上級者の>>407 にしたって、ことじゃないの、だろう レベルでしかレスできない。 つまりこのスレではよく分からん、さっぱりわかりませんレベルと言うこと (自信をもってちゃんと用語の説明が出来るレベルにはないと) >>412 超超初級レベルの俺だって for X in YYYY なんかで、イテラブル・イテレータとかが関係している(?)のを使っているからな >>409 for i in iterable: みたいな文は実際にははじめにiter(iterable)が呼ばれて 返ってきたiterator(itとする)に対して StopIteration例外がraiseされるまでnext(it)を呼び出しその結果をそれぞれiに束縛するという動作をする なので普段意識しないでもiteratorは使っている そう考えるとiterable objectとiteratorが一緒でもいいような感じがするし 実際generatorはiterableでありその上iterableでもある ただiterableとiteratorを分離してクラスの肥大化を防ぐためにそういう仕様になってるんじゃないか あとiteratorとiterableを分けることで複数回の反復が可能になるってのがあるな rangeはiterable objectだけどiteratorではないから r = range(100) for i in r: ____print(i) for i in r: ____print(i) はできるが generatorはiterable objectであり自分自身がiteratorだから g = (i for i in range(100)) for i in g: ____print(i) for i in g: ____print(i) は無理 マジレスするとforの仕様ぐらい俺でも知ってるってばよ そーゆー事じゃねーだろ そもそも違いを説明できるかって質問が意味不明 どちらもPythonのオブジェクトであること以外、何も同じじゃないだろ >>416 どういうこと? iterableとiteratorの違いの話では >>407 でiterableとiteratorの違いは書いた >>414-415 でiteratorのそもそもの意味、iteratorとiterableが別になっている意味について言及したんだけど PyCharmのツールバーに、 停止ボタン発見した! プログラム途中で辞める時は、このボタン押せばいいのか。 どの言語でもforループでbreakやcontinue使えない中級者がいるよね みんながんばれー >イテラブルとイテレータの違いを説明 イテラブルとイテレータについてきいているのであって Pythonでイテラブルやイテレータをどう実現するのか聞いているんじゃないんじゃないのか 俺自身、イテラブルやイテレータはほとんどわからん。 ぶっちゃけ「オブジェクトの種類が多すぎ」という点からして要領を得ない iterableもiteratorもPythonドキュメントの用語集に明記されているし データモデルの特殊メソッド名なんか単なるインターフェイスに過ぎないだろう どの言語でも初心者スレでいきなりiterator持ち出してドヤる上級者がいるよね みんな巣に帰れー いやみんなお前程いろいろな初心者スレに精通してる訳じゃないから同意を求められてもw それほんと(超)初心者にはあるよな。俺も知っているぞとどや顔で話したくなるときがある。 でも、(超)初心者のそれは(超)しったかがほとんどだかからな なんか変なアスペが勘違いしてうやむやにしてしまったけど 結局だれか説明できるやつおらんの?>>405 pythonでとってきたデータを、 Excelのセルに貼り付けるにはどうしたらいいですか? なんとか話題についていこうと必死にググってリンクを貼ってるアスペおるなw 可愛いよアスペwwww >>437 俺もコレ使ってる。 xlrd,xlwt直書きより楽だな >>431 俺も本を読んで昨日知ったんだよ(Python歴3年) 語感から、イテラブルは形容詞で、イテラブルなオブジェクト=イテレータだと普通思うだろ? どっちもオブジェクトなんだそうだ ・値を順に取り出すことのできるオブジェクト=イテラブル ・組込関数next()に読ませるたびに値が順に一個ずつ出てくるオブジェクト=イテレータ リストやタプルやrangeはイテラブルで、ジェネレータやファイルオブジェクトや 組込関数iter()に読ませたイテラブルはイテレータということらしい イテラブル・イテレータはドキュメントに何気なく出てくるので、超初心者でも 覚えておかないとまずいと思った次第 ・イテレータに出来るオブジェクト=イテラブル 形容詞で何の問題もない https://docs.python.jp/3/library/stdtypes.html#list >コンストラクタは、 iterable の項目と同じ項目で同じ順のリストを構築します。 iterable は、シーケンス、イテレートをサポートするコンテナ、またはイテレータオブジェクトです。 イテラブルは性質、イテレータはオブジェクトタイプ シーケンス、イテレートをサポートするコンテナ、またはイテレータオブジェクトは全部イテラブルだけど、それ以外の性質は違う シーケンスはインデックスで要素を参照できるけど、イテレータオブジェクトはできない等々 質問です リスト内包表記で a=[0,1,2,3,4,5,6] lst=[e for e in a if 2<e<5]とやって lstの中身が[3,4]にするのはできるのですが 逆のパターン(1,2,5,6を残したい)をやるときはどうすればいいのでしょうか? lst=[e for e in a if 2>e>5]にすると結果が[]になってしまいます。 lst=[e for e in a if 2>=e] lst.extend(e for e in a if 5<=e) とつなげるしかないのですか? >>442 >>> a = range(100) >>> b = iter(a) >>> b.next() 0 >>> b.next() 1 >>> c = iter(b) >>> c.next() 2 >>> c.next() 3 >>443 lst=[e for e in a if not 2<e<5] ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる