1 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 16:33:27.37 ID:/iWSRGfH.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合は、 表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OS+IDEの種類とバージョン)をシッカリ書くこと。 【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意! Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので ↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。最近流行中? ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇
412 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 02:26:01 ID:2RyFB+EQ.net] >>389 、>>396 とにかく 是が非でも a=1 にしたいんだろ そこを通過してくれないと困るんだろ
413 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 02:36:08.51 .net] n = f1(True)を n = f1(False)にすればa=0になるし if True: を if False:にしてもいいし 文脈みればどうでもいい部分だからif Trueにしてるってことくらいわかるでしょ a=1だけでいいとかはまったくの的外れ
414 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 02:39:15.35 .net] コード”のみ”をみれば結果がa=1だからそれを最適化すればいい とか普通にネタで言ってるんだと思って流してたけど違うのか?? そんなこと言い出したら全角の_でインデント使ってるとこも エラー出るぞとか言って徹底すればいいのに
415 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 02:41:39.28 .net] ガチのマジでアスペいない? あざといからネタでやってるんだと思ってるんだけどなぁ
416 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 02:45:26.49 ID:2RyFB+EQ.net] 初めから知識0からじゃ何も進まないじゃないか ともかく前提条件が >>1 以外の事は考えたくないんだ
417 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 06:22:3
] [ここ壊れてます]
418 名前:2 ID:LSc+X1IL.net mailto: ↓のような標準入力が大量にあったとして、それをリストに入れたい状況で、 リストを順に命名する方法はありますか? list_001 list_002 list_003 list_004 list_m の様に増えていくイメージです。 for i in range (m): のような形の処理しか思いつかないのですが、 リストを何らかの順番で規則的に命名する方法がわかりません。 よろしくおねがいします。 -------------------------- 123 4 56 789 0123 45 67 8901 .....n list_001 as efef asef fe3 434 ee fea ...n list_002 aseff ae asd ...n list_m [] [ここ壊れてます]
419 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 08:08:10 ID:XsPNeg0Z.net] >>403 temp_dic={} forループの中で temp_list=[] リストの中身いれてさいごに hoge="list_"+str(i)#桁揃えのやり方あるけどなんだったかわすれたわ temp_dic[hoge]=temp_list でもってさいごのさいごに またforループでdicから順々に取り出せばえんでねーのかな
420 名前:デフォルトの名無しさん [2020/08/05(水) 08:51:45 ID:L/0IIDMF.net] > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
421 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 09:11:58 ID:+q2ZzHFA.net] >>405 放射能まみれのチョッパリが何をイキガッているんだ? 強姦と窃盗はお前らチョッパリのお得意分野だろう! 慰安婦の方々に謝罪し、徴用工の方々にきちんと賠償しろ 俺たちに口応えするのはそれからだ!
422 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 09:20:36 ID:nWrq5ml2.net] >>401 ガチ
423 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 10:10:28.99 ID:zJw940E0.net] >>395 ありがとうございます。 これだと clicked() takes 0 positional arguments but 1 was given となりました。引数無いぞコラというエラーですよね。 def clicked(a): print('click') button1.bind('<button-1>', clicked) だとOK。
424 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 10:19:51 ID:zJw940E0.net] button1.bind('<button-1>', clicked) って左クリックをしたらclikedを実行ではなくて、
425 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 10:20:59 ID:zJw940E0.net] 左クリックをすると イベント値をclickedにわたすということでしょうか? クリックをしたら関数を実行みたいにしたいのですがbindを使うのが間違ってる?
426 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 10:28:09.96 ID:LSc+X1IL.net] >>404 ありがとうございます。 なんとかなりそうです。
427 名前:デフォルトの名無しさん [2020/08/05(水) 10:44:01 ID:xKYyZvTf.net] >>403 execをつかう 要するに、「python 変数 動的 生成」と検索すると答えは出る Python - pythonでname0,name1,name2・・・のように変数を宣言したい|teratail https://teratail.com/questions/9130 pythonで動的に変数を定義する - Qiita https://qiita.com/ytsumura/items/917de811c023ee9f3709 pythonの教科書でevalが全然説明されてないのも問題だ こういう便利なヤツはバンバン使えばいいのに そもそもevalとapplyは最重要項目でしょう
428 名前:デフォルトの名無しさん [2020/08/05(水) 11:07:48 ID:G2EhtAf5.net] そもそもlist/dictに勝る点がないので、便利でも何でもない。 デバッグのし辛さとか変なコードの実行などなど。 execなんかよりストレートにglobals/locals使う方法もあるが、 globals()["hoge"] = "Hoge" print(hoge) これもexecと同様デバッグがめんどくさくなる。
429 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 11:21:08.66 ID:zJw940E0.net] >>410 すいません自己解決しました。 button1 = tk.Button(
430 名前:root1, text='1データを分析', font=20,command = clicked) でOKでした。 [] [ここ壊れてます]
431 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 11:38:46.21 ID:zJw940E0.net] ずっとanacondaからvscodeでpythonいじってたんですが、 プログラムの規模が大きくなってきたため、統合開発環境をインストールして開発しようかと思っています。 無料の統合開発環境でいいのってないですか?
432 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 11:38:47.88 ID:LSc+X1IL.net] 2次元配列のリストと辞書(一次元)は同じ様に思えるのですが、違いはありますか? (3.7以前、辞書が順序を保存しなかったときは大きな違いがあったと理解しています。) それぞれの仕組みが書いてあるサイトはあるのですが、何が違うのかを調べても見つけることが出来ませんでした。 書くのが面倒であれば、説明が書いてあるサイトを貼っていただく形でもありがたいです。 >>412 ありがとうございます。試してみます。
433 名前:デフォルトの名無しさん [2020/08/05(水) 11:39:01.66 ID:kVNaCqIg.net] File "C:\Users\NEC-PCuser\.spyder-py3\temp.py", line 23, in <module> my_data = genfromtxt('SingleECG.csv') File "C:\Users\NEC-PCuser\anaconda3\lib\site-packages\numpy\lib\npyio.py", line 1772, in genfromtxt fid = np.lib._datasource.open(fname, 'rt', encoding=encoding) File "C:\Users\NEC-PCuser\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 269, in open return ds.open(path, mode, encoding=encoding, newline=newline) File "C:\Users\NEC-PCuser\anaconda3\lib\site-packages\numpy\lib\_datasource.py", line 623, in open raise IOError("%s not found." % path) グラフをプロットしたらこのようなエラーが出ました。解決方法を教えてください
434 名前:デフォルトの名無しさん [2020/08/05(水) 12:04:12 ID:aMNOBbmO.net] >>416 https://docs.python.org/ja/3/library/stdtypes.html#list https://docs.python.org/ja/3/library/stdtypes.html#mapping-types-dict これ見ても何が違うかわからないの?
435 名前:デフォルトの名無しさん [2020/08/05(水) 12:44:19.03 ID:L/0IIDMF.net] > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
436 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 12:59:40.04 ID:bfUj5q3R.net] 今どきWindowsに直でPython入れてる馬鹿はくたばっとけよ
437 名前:デフォルトの名無しさん [2020/08/05(水) 13:08:50.41 ID:IZQzbQjk.net] >>417 1.Spyderを1回でも起動するとホームフォルダに「.spyder-py3」というフォルダができています。 Windowsの方は、ご自分のデフォルトのホームフォルダに「.spyder-py3」ができていることがわかります。 OSXの方は、ホームフォルダ直下に、不可視フォルダとして存在しています(見えません)。Finderの「移動」メニュー→「フォルダへ移動」をクリックして、「フォルダの場所を入力」に「.spyder-py3」と入力し、Returnキーを入力します。 2.このフォルダの中に、「spyder.lock」というファイルを探してください。このロックファイルは通常Spyderの起動時に自動的に作成され、終了時に自動的に消去されます。ところが、何らかの理由でこれが残ってしまった場合、spyderを新たに起動できなくなります。 3.spyder.lockをゴミ箱に入れて削除します。 4.再びspyderの起動をおこなってください。
438 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 13:21:10.89 ID:LSc+X1IL.net] >>416 自己解決 これを読んで理解しました。 https://www.quora.com/Should-I-use-a-2D-list-or-dictionary-to-store-a-tabular-form-of-data-in-Python-and-why
439 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 13:40:48 ID:XsPNeg0Z.net] >>417 >>1 をよめ まもれ はなしはそれからだ
440 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 13:51:58 ID:xp5DSzK/.net] >>403 n行目のリストにlists[n]でアクセスできれば十分だと思うんだけど どうしてそれぞれの行にわざわざ変数名を付けたいの?
441 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:20:17.00 ID:LSc+X1IL.net] >>424 webからpytonで取得したデータをcsvかxmlで出力して、 他のデータと合わせて処理したいというのが今の狙いです。 今の所excelで最終的に処理しようと思っていますが、もう少し勉強しないとそのアプローチが正しいのかもわからないです。 プログラム自体完全初心者で、初めて1週間程度なので分かっていない部分が非常に多いことは自覚してます。 pandaとかnumpyとか色々あるようですが、その辺りが理解できれば別のアプローチを考えるかもしれません。
442 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:23:23.58 ID:LSc+X1IL.net] 質問にキチンと答えられていなかったので補足すると、 csvで出力した場合に他のデータとマージしたりする時に、 各行ごとに順番で名前がついていれば処理しやすいと思った、というのが理由です。 根本的な発想が間違っている可能性もありますが、その点は申し訳ないです。
443 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:31:36.03 ID:YFT9R2Ox.net] 単純に順番でなのであれば、>>424 が言う様に2次元配列でいいと思う >>> list=[["a","b","c"],[0,1,2],["あ","い","う"]] >>> list[0] ['a', 'b', 'c'] >>> list[1][1] 1
444 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:38:49 ID:pA7ncT8x.net] >>426 変数名そのものを変数で定義したり外部に出すのはとてもむずかしい (できなくはないが普通はやらないので特別な方法をとる必要がある) dictを使うのが正解で それならitems()で変数名と中身の両方にアクセスできる
445 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:52:44.05 ID:pA7ncT8x.net] 変数名っていうかキーね まぁ普通はそういう変数を変数で命名するのはpython以外の言語でもしない
446 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:55:15.13 ID:LSc+X1IL.net] 皆様、色々教えて頂きありがとうございます。 >まぁ普通はそういう変数を変数で命名するのはpython以外の言語でもしない なるほど。 それでも世の中うまく回ってるってことは、私みたいなアプローチをする必要がないんでしょうね。 辞書とか多次元リストを試してみます。ありがとうございました。
447 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:56:47.32 ID:xp5DSzK/.net] >>425 それで、それぞれの行に変数名を付けたい/付けたほうがよさそうと思った理由は?
448 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 14:57:31.62 ID:xp5DSzK/.net] >>431 あーごめん、入れ違いになったみたい
449 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 15:06:59.98 ID:Zf7jxWAJ.net] すいません、自己解決しました
450 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 15:10:18.46 ID:xp5DSzK/.net] >>426 そういう理由であれば変数名じゃなく値として行番号を持つデータ構造を選ぶか csvに出力するときにlists[n]のインデックス値を行番号として出力するようにすればいい 変数名は入れ物の名前で 基本的にプログラムに固定値として書く(ハードコーディングする)ものなので 動的に変わるような値は変数名にはしない (メタプログラミングとかやや特殊な使い方をしたい場合は除いて)
451 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 15:32:35.53 ID:YFT9R2Ox.net] しかし初めて1週間にしてはやろうとしてることがハイレベルだな。 才能あるんじゃない?
452 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 16:17:41.42 ID:zJw940E0.net] conda activate "C:\Users\takashi ishida\Anaconda3" conda : 用語 'conda' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識 されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから 、再試行してください。
453 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 16:19:36 ID:zJw940E0.net] >>436 すいません。途中で送信しました。 anacondaのvscodeで開発したプログラムを他で実行しようとするとこういうエラーがでます。 condaコマンドって使った覚えがないのですが・・・。
454 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 18:52:45 ID:WY90OE83.net] >>437 同じディレクトリに.vscodeってあって、それまでコピーしてきてないか?
455 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 19:32:40.11 ID:LSc+X1IL.net] >>435 才能があるとは思わないですが、面白さにハマって一気に勉強してます。 あと10年早くプログラミング開始してれば絶対にエンジニアに転職してたと思います。 キチンと使えるようになれば相当色んなことが出来ますね。 暇つぶしにゲームとかやってないでpythonやってりゃ良かった・・・
456 名前:デフォルトの名無しさん [2020/08/05(水) 19:47:32.85 ID:v2dPmWiH.net] >>392 既に米付いてるけどもうひとつ Button1.bind("<button1-1>", lambda : print('click'))
457 名前:デフォルトの名無しさん mailto:sage [2020/08/05(水) 20:17:47 ID:XsPNeg0Z.net] >>436-437 「他」とやらに .pyだけもってきていて anaconda入ってないとかいうオチじゃねーの? >>439 オラも 暇つぶしにプログラミングなんてしてないで ボカロの調教か3Dモデリングしてればよかったとか そも建築学科いってればとか いろいろ思うだーよ
458 名前:デフォルトの名無しさん [2020/08/06(木) 12:59:02.85 ID:VbLHuZhq.net] > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
459 名前:デフォルトの名無しさん mailto:sage [2020/08/06(木) 19:46:10 ID:9CykuhS+.net] 文字列を整形するスクリプトをいくつか使っているんですが 手軽に使いたいので整形前の文字列をinputで入力するようにしています でも文字数に制限があるらしく長い文字列だとエラーになってしまいます やっぱり横着しないでファイルから読まないとダメですか?
460 名前:デフォルトの名無しさん mailto:sage [2020/08/06(木) 19:50:18 ID:7L1cCHwV.net] >>443 限界数の文字列をまず受け取る しかるのち とった分をhogeみたいなのに代入しておいて 続きを入れろと促すメッセージを出し、 受け取ったらhogeに足す。 (以下略) 途中で打ち間違えたら困るので、普通にファイルから受け取るほうがいいぞ
461 名前:デフォルトの名無しさん mailto:sage [2020/08/06(木) 19:52:43.52 ID:9CykuhS+.net] >>444 なるほど!と一瞬思ったけど 文字列が限界突破してるかどうかの判断はどうやるんでしょう?
462 名前:デフォルトの名無しさん mailto:sage [2020/08/06(木) 22:12:23.79 ID:bT9J+NNY.net] >>445 input関数の上限はたしか1024文字 ためしに1025文字打ってみ
463 名前:デフォルトの名無しさん mailto:sage [2020/08/06(木) 22:33:44.38 ID:u+7LtLeC.net] input使うほうがめんどくね? for line in sys.stdin: print(line) data = sys.stdin.readlines() data = sys.stdin.read()
464 名前:デフォルトの名無しさん mailto:sage [2020/08/06(木) 22:40:15.88 ID:9CykuhS+.net] 俺氏のレベルが低すぎてわからなかったが 限界のちょい前で区切れば良いのか これはちょっと時間があったらやってみようと思う ありがとう >>447 個人的にはスクリプトをダブルクリックしてプロンプトに右クリック→エンターが楽だな テキストファイルを編集するのが地味に面倒い
465 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 02:47:23.95 ID:FY0CqvZ3.net] 面倒くさいからクリップボードにコピーしたあと pyperclipでクリップボードを読み込んでそのまま処理させてる
466 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 07:29:33.01 ID:mKqTfwbZ.net] >>449 横レスだが なるほどー
467 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 08:41:20 ID:ts5R835r.net] ある意味かしこいなww
468 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 10:05:23.22 ID:5Voyvt5w.net] というかpythonってjavascriptで言うところのtextareaみたいなのないの? だったらブラウザのdriver使って入力するとか そもそもtextエディタのdriverがあったりして
469 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 10:38:21 ID:I/keIxIH.net] >>452 そんな事がしたい奴はJupyterを使う
470 名前:デフォルトの名無しさん [2020/08/07(金) 11:12:59.46 ID:a/GqHoW6.net] >>452 textareaはHTMLだろう ブラウザのdriverってなんだよ? そもそもtextエディタのdriverとか ちょと何言ってるかわかんない
471 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 13:55:42.48 .net] >>453 そうなの? 数値とかデータだけ収集したいならそれでいいけど 文字列を整形するってなると、どこかのサイトからコピペみたいな用途もあるかな、と >>454 たしかに、htmlタグだった chromeドライバーとか、使い方の変数もdriverってなってるしdriverって言っていいかなって。 driver.get("index.html")みたいにして、テキストエリアに挿入 pythonで受け取って処理、みたいなことができると思った というか既存ウェブサービスであれこれしたいときは普通に使ってるし
472 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 18:26:19.71 ID:KSWhJGwQ.net] >>455 自動化のRPA Selenium のドライバーとかと混乱してない? driver.get ってSelenium の機能じゃないの? Python でもSelenium は使えるよ。
473 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 19:52:25 .net] >>456 >Selenium うん、もちろんそうだけど。。 Seleniumでchromeドライバ読み込んで >>443 スクリプトをダブルクリック → driver.get("自分で用意したtextarea.html") → テキストエリアに右クリック(文字列コピペ) → pythonが変更を感知して文字列を読み取る → 文字列成形処理(textarea.htmlで何かしらの操作をやってもいい) → ウィンドウclose みたいにすれば文字数制限なしの右クリック(コピペ?)→エンター必要なしのお手軽inputの代わりになるのでは、ってこと
474 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 20:11:00 ID:mKqTfwbZ.net] >>457 おまえの過去レスから なぜそこまでエスパーしろと おれらに要求するんだwww (・∀・)カエレ!!!
475 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 20:44:30.96 .net] おれとしてはそんなことよりもなんで>>447 の方法じゃだめなん?というのが気になってる
476 名前:デフォルトの名無しさん [2020/08/07(金) 20:51:13.44 ID:R6EkH4Oi.net] inputってOSとかターミナルに依存せんの? その1024っていうのも文字数なのかバイト数なのかよくわからんし。 いままで意識したことなかったけど、意外に短かいもんだな。
477 名前:デフォルトの名無しさん mailto:sage [2020/08/07(金) 23:42:19 ID:TzYKRTqH.net] 漏れは、Ruby で、クリップボード経由で、文字列を変換している さらに、バッチファイルに、ruby .\script.rb と書いて、 ダブルクリックで、そのプログラムを起動できるようにしている # クリップボード内の複数行文字列の、各行の先頭・末尾から、 # 連続する空白類を除去して、クリップボードに入れる 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
478 名前:デフォルトの名無しさん [2020/08/08(土) 11:27:43 ID:noFfmCPy.net] >>452 tkinter
479 名前:デフォルトの名無しさん mailto:sage [2020/08/08(土) 15:48:54 .net] >>462 さっそくやってみた 良いね from tkinter import * root = Tk() root.geometry('240x120') e = Entry(root, validate="key", validatecommand=(root.register(lambda p:[print(''.join(p.split())),root.quit()]), '%P')) e.grid() root.mainloop()
480 名前:デフォルトの名無しさん [2020/08/08(土) 16:54:46.34 ID:jNP2OM4q.net] https://murashun.jp/blog/20200113-51.html#chapter-3 フォルダ名の一覧を取得したいのですが、ファイル一覧を取得してからフィルターをかけるしかないのでしょうか? 4行目なんですが、このcmdライクな書き方が良くわからないのです。
481 名前:デフォルトの名無しさん [2020/08/08(土) 16:57:20.42 ID:jNP2OM4q.net] f for f とは何でしょうか? ↑牡蠣忘れました
482 名前:デフォルトの名無しさん mailto:sage [2020/08/08(土) 17:11:25.36 .net] >>465 内包表記 [ ”条件1がTrueのとき” for f in files if "条件1" ] else使いたいときは書き方が変わってifが前にくる・・ [ ”条件1がTrueのとき” if "条件1" else "条件1がFalseのとき" for f in files ] 例 files = ["a","b","c","d"] #条件1=Trueだったとき print( [ "条件1がTrueのとき f = "+f for f in files if True ] ) #条件1=False だったとき print( [ "条件1がTrueのとき f = "+f if False else "条件1がFalseのとき f = "+f for f in files ] )
483 名前:デフォルトの名無しさん mailto:sage [2020/08/08(土) 19:28:37 ID:JWEyeEm5.net] リスト内包表記までは便利だけどifに複数条件からめるとかえってややこしくなるので複数行にしてる タプルのリストの重複チェックとかは定型文的に使ってるわ
484 名前:デフォルトの名無しさん [2020/08/08(土) 19:45:59.56 ID:jNP2OM4q.net] 改造してみます ありがとう リネームに使いたいです
485 名前:デフォルトの名無しさん mailto:sage [2020/08/08(土) 20:27:19.81 ID:WWf5PMr4.net] リスト内包表記の方がfor文の処理速度が速くなるらしいけど読みづらすぎ&書きづらすぎるわ リスト内包表記を使わずに速度を処理速度を速くする方法を作って欲しい
486 名前:デフォルトの名無しさん [2020/08/08(土) 20:34:03.26 ID:jNP2OM4q.net] 読みづらいのでやめときます
487 名前:デフォルトの名無しさん [2020/08/08(土) 21:25:03 ID:PbNRKPU5.net] そんな主体性がないことでは困る
488 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 02:01:57.03 .net] 見慣れの部分もあるだろうけど明らかに見難いと思う ただ結果的に何が出力されるんだ? という部分に着目し簡潔に書く、そのために(無駄を省いたり関数にしたりして) 工夫せざるを得ない状況を作り出すための方法としてはありかも
489 名前:デフォルトの名無しさん [2020/08/09(日) 10:54:15.87 ID:/x2pn//m.net] 組み込み関数を使うといい
490 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 11:21:50 ID:rlvW70Ue.net] pandasで読みん込んだテキストファイルの先頭から指定した行まで削除は出来たのですが、最後から指定した数行だけ消すやり方がよう、分かりません 行数がころころ変わるのでrangeでは消せないのです お知恵下さい
491 名前:デフォルトの名無しさん [2020/08/09(日) 11:34:08.98 ID:/x2pn//m.net] >>474 https://ideone.com/EtcWyl https://docs.python.org/ja/3/library/stdtypes.html#str.rsplit
492 名前:デフォルトの名無しさん [2020/08/09(日) 12:28:45 ID:G1el0n+S.net] globで取得したファイルのリストの最初のファイルを取得するにはどうしたらいいでしょうか? file = glob.glob("fold/*") for i in file: print(file[i]) TypeError: list indices must be integers or slices, not str こういうエラーが出ますが、fileはリストではないのですか?
493 名前:デフォルトの名無しさん [2020/08/09(日) 12:31:25.41 ID:G1el0n+S.net] file = ["one","two","three"] for i in len(file): print(file[i]) テスト用に作ってみましたが、これだとnot iterableになります iが繰り返しに使えないとはどういうことでしょうか インデックスは繰り返せるはずですが、、、
494 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 12:33:47.83 ID:lPdKuM8h.net] >>476 fileはリストだけど iは? エラーメッセージ読めよ
495 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 12:39:36.94 ID:JXdOVZ/U.net] >>476 リストをループすると、iにはイテレーターじゃなくて、リストの中身が入る file = glob.glob("fold/*") print(file) for i in file: print(i) 実行j結果 ['fold\\aaa', 'fold\\bbb'] fold\aaa fold\bbb だからfile[i]にすると、文字列を使ってリストにアクセスしようとするからエラーになる
496 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 12:46:15.61 ID:JXdOVZ/U.net] >>477 これはPythonの記法的な問題 for i in 3みたいな書き方は出来ない エラーメッセージでTypeError: 'int' object is not iterableって書いてある通り file[0]、file[1]、file[2]みたいにアクセスしたい場合は>>479 の書き方にするか rangeを使う file = ["one","two","three"] for i in range(3): print(file[i]) 実行結果 one two three
497 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 14:55:41.57 .net] さらにenumerateも便利、同時にインデックスとれる files = ["one","two","three"] for i,n in enumerate(files): _print(i,n) >>>実行結果 0 one 1 two 2 three
498 名前:デフォルトの名無しさん [2020/08/09(日) 18:18:04 ID:G1el0n+S.net] ↑ありがとうございました インデックスではないんですね range(len(file))を使いますです
499 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 18:55:14.84 ID:TCh4WBtq.net] 超初心者スレとはいえ、ちょっとこれは酷すぎるだろ 知的障害を疑うレベルだわ
500 名前:デフォルトの名無しさん [2020/08/09(日) 19:10:05.24 ID:/x2pn//m.net] 下手な教え方するより一回チュートリアルやらせたほうが、結果的には近道になるパターン
501 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 19:18:43 ID:xLYoDobK.net] >>469 入れ子になってたりタプルで複数の値を渡してたりしたら読みづらいときもあるけど、 慣れたら別に読み辛くないよ。 読み辛いなと思ったらforの前に改行を入れてみるとわかりやすいと思う
502 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 19:51:17.39 .net] .py実行したら出てくるcmdやターミナル画面ってあるけど これをtkinterみたいなGUIウインドウの中に入れたり(そう見えてるように重ねたり)追従させたりできる? tkinterのウインドウつまんで動かす時、一緒にターミナル画面も動いてきたらいいのにと思ったんだが
503 名前:デフォルトの名無しさん [2020/08/09(日) 21:36:20 ID:G1el0n+S.net] pathlibをインポートするとglobはインポートしなくていいのでしょうか モジュール同士の継承関係がわからないですが、参考ページありませんか?
504 名前:デフォルトの名無しさん [2020/08/09(日) 21:55:46.35 ID:/x2pn//m.net] >>487 https://docs.python.org/ja/3/tutorial/index.html 一通りチュートリアルやってみてはどうですか
505 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 22:23:18 .net] >>487 何をしたいかに依るのでは from pathlib import * #実行する.pyと同じ階層のファイルとディレクトリ一覧取得 #str()でファイルやディレクトリの絶対パスの文字列を取得できる print( [ str(p) for p in Path().iterdir() ] ) #つまりその文字列を扱いフィルターをかけることもできる #ファイルネーム・ディレクトリネームの文字数が20以上だけフィルタリング print( [ str(p) for p in Path().iterdir() if len(p.name) > 20 ] )
506 名前:デフォルトの名無しさん mailto:sage [2020/08/09(日) 23:07:31.69 ID:AwKuV539.net] >>487 importするのに通常は依存継承関係とか余計な事は考えなくていい ファイルが違えばスコープも違うのだから必要なモジュールならとにかくimportすればいいだけ
507 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 10:08:23 ID:SIP0jVAr.net] >>150 わりと本気でSQL
508 名前:デフォルトの名無しさん [2020/08/10(月) 10:44:09.54 ID:rTlZ13Bm.net] >>489 >>490 了解しました
509 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 11:19:34 ID:mxDHCoDt.net] xの値に反比例して1から0まで直線的に減少していく値yが入った value_y[x] があって、家などの画像の上に、value_y[x]に比例したピクセル値を持つグレー画像を重ね合わせて表示させたいと思っています。 (左端はグレーで家は見えなくて、右側に行くにつれて段々とグレーが薄くなって家の画像が見えてくる感じ) openCVとか使えば出来るかなとおもうのですが、重ね合わせようのグレー画像のうまい作り方があったら教えて下さい。
510 名前:デフォルトの名無しさん [2020/08/10(月) 11:58:33.01 ID:rTlZ13Bm.net] イテレータとリストと配列の違いってなんでしょうか? かんたんな例え、はありませんかね、、、
511 名前:デフォルトの名無しさん mailto:sage [2020/08/10(月) 12:01:57.46 ID:epTxOZiR.net] 厳格な型制御をするC#から勉強すればそんなアホな質問は出てこない。
512 名前:デフォルトの名無しさん [2020/08/10(月) 12:20:38.32 ID:gyMnY3Cu.net] >>493 なぜPythonでやる必要があるんですか GIMPやINKSCAPEの使い方覚えた方がいいんじゃない? >>494 イテレータは反復子現在地ポインタ リストはインデックス番号のある配列の一種 配列は並べられた複数の箱