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/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇
598 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 13:38:11.01 ID:+7u2t/Rq.net] >>575 python -m packages.sample01 で警告が出るのはpythonのバージョンのせいかも知れない(python3.7では警告が出た) この方法では packages/__init__.py がまず読み込まれ、その後 packages/sample01.py が実行される __init__.pyでsample01.pyを読み込んでいるので、sample01.pyは2回読み込まれていることに注意 __init__.pyにまとめることは普通に良くやるしpackages/__init__.pyの中でアスタリスクを使うことも良くやる ただしmain.pyでアスタリスクを使うのは行儀が悪いように思う fromナンチャラの行が増えるのが嫌いなら、メモリは食うけど import packages とした方が心の健康によさげ
599 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 13:54:59.57 ID:+7u2t/Rq.net] >>577 ,578 >カラム名を%sにするとだめみたいよ これが全て
600 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 14:15:16 .net] >>579 >2回読み込まれ あーやっぱりそうだったのか なぜか2倍printされるので。。 >ただしmain.pyでアスタリスクを使うのは行儀が悪いよう なるほど
601 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 14:19:38.23 ID:dVYQOL+d.net] >>578 できました!やったーありがとうございます
602 名前:デフォルトの名無しさん [2020/08/12(水) 14:21:32.92 ID:q6njxWnQ.net] 実用的でないPythonプログラミングを買いました。 VisualStudio2017とかでできますか? 皆さんオススメの環境を教えてください。 Pythonのバージョンは3.5らしいです。 (まだちゃんと読んでないけど)
603 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 15:03:29.71 ID:+7u2t/Rq.net] Windowsなら Python: Anaconda エディタ: Visual Studio Code (VisualStudioではない)
604 名前:デフォルトの名無しさん mailto:sage [2020/08/12(水) 15:21:07.28 ID:JA3gbSGM.net] >>583 AnacondaPrompt エディタはNotePad++
605 名前:デフォルトの名無しさん [2020/08/12(水) 15:24:26 ID:q6njxWnQ.net] >>584 >>585 有り難みが強い。 参考にさせていただきます。
606 名前:デフォルトの名無しさん [2020/08/13(木) 10:56:33.23 ID:0rwjVY3B.net] イテレータとリストの違いですが、イテレータは処理途中の状態を記録できるという点が違うのでしょうか?
607 名前:デフォルトの名無しさん [2020/08/13(木) 11:27:43.34 ID:WWRPvGcb.net] 違う 君が言う後者の機能は generator リスト は全部メモリに確保されたもの イテレータ はメモリを占有せずに順番に値を取得 generator は処理途中の状態を記録できる イテレータ
608 名前:フ実装に generator が使われているかも知れないが別の概念 [] [ここ壊れてます]
609 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 11:27:51.35 ID:RJ8S/0mc.net] 作り置きと、注文の都度作るかの違い 作り置きは、置き場のスペースが必要
610 名前:デフォルトの名無しさん [2020/08/13(木) 11:43:13.98 ID:CM5c4LB7.net] リストとイテレータの違いがよくわからないのですが、かんたんナ... - Yahoo!知恵袋 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12229812432 これでは分らなかったのか
611 名前:デフォルトの名無しさん [2020/08/13(木) 12:28:04 ID:0rwjVY3B.net] なるほど、なんとなくわかったです
612 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 12:48:37 ID:BKihMO2y.net] foo = [1,2,3] foo_iter = iter(foo) next(foo_iter) #=> 1 next(foo_iter) #=> 2 next(foo_iter) #=> 3 next(foo_iter) #=> StopIteration イテレータはnext()が呼ばれたら次の要素を1つ返すオブジェクト 内部でどこまで返したか覚えておく必要があるので状態を記録してるかというと記録してる for x in foo: って書けば iter(foo)して、next()を呼んで、得られた値をxに代入して、loop内の処理へ渡してる ジェネレータは一般的には呼ばれたら1つ1つ値を生成して返す関数でイテレータの一種 ジェネレータではないイテレータは1つ1つ値を生成するんじゃなく すでに用意されたリストなどから順に値を1つずつ返すもの なので作り置きから注文の都度1つずつ返すのもイテレータ
613 名前:デフォルトの名無しさん [2020/08/13(木) 13:00:42.76 ID:0rwjVY3B.net] 何故pathで取得したパスは、iterdirなどを使ってジェネレータにする必要があるんでしょうか? ササッとリストでも取得してくれればいいんじゃないですか? フォルダのファイル一覧を取得する場合、 パス→ジェネレータ生成→リスト化という手順を踏まないといけないみたいです パス→リスト でいいような、、
614 名前:デフォルトの名無しさん [2020/08/13(木) 13:05:38.39 ID:KaPqduB6.net] python2 へようこそ
615 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 13:10:29.18 ID:xFixv4R5.net] 一言で言うと「yieldがあるのがgenerator」
616 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 13:13:43.47 ID:xFixv4R5.net] >>593 項目が超巨大になったときにリストの実態返されたら悲しいことになる ジェネレータなら、あれ?なんかでかいぞ、止めよう、ができる
617 名前:デフォルトの名無しさん [2020/08/13(木) 13:39:30.96 ID:0rwjVY3B.net] >>596 な、なるほど そこまで巨大なファイルを扱ったことはなかったので、必要性が分からんでした
618 名前:デフォルトの名無しさん [2020/08/13(木) 13:56:32.50 ID:CM5c4LB7.net] やっぱり強制的に教え込むべきだ 業界が先祖返りしてる 計算機プログラムの構造と解釈 第二版 https://sicp.iijlab.net/fulltext/x350.html
619 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 14:04:29 ID:jm0McRWL.net] >>592 > ジェネレータは一般的には呼ばれたら1つ1つ値を生成して返す関数でイテレータの一種 逆でしょ 「イテレータは、コンテナに含まれる値ひとつひとつに対して走るジェネレータの一種である。」 ハードウェア乱数生成装置から読み取った値を返すジェネレータとか内部で値を保持しないジェネレータとかもある >>588 とかも勘違いしてる
620 名前:デフォルトの名無しさん [2020/08/13(木) 14:28:08 ID:WYCQl6Jw.net] >>598 先祖還りって言うか もう3周目とか4周目だろう
621 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 14:31:15 ID:BKihMO2y.net] >>599 逆じゃないよ >「イテレータは、コンテナに含まれる値ひとつひとつに対して走るジェネレータの一種である。」 こういう味方があっても別いいとは思うけど一般的ではない >ハードウェア乱数生成装置から読み取った値を返すジェネレータとか内部で値を保持しないジェネレータとかもある yield 乱数生成()で値を返すジェネレータがあったとして 何回yieldしたかとかloop条件を満たしてるかどうかとか なんらかの状態を内部に保持することになるよね?
622 名前:デフォルトの名無しさん [2020/08/13(木) 14:57:12.58 ID:0rwjVY3B.net] ループの返り値を内包表記を使用して変数に挿れるのと、普通にループで記載する場合では何が違うんでしょうか?後者だとグローバル変数が必要になると思いますけど。
623 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 15:04:40.77 ID:cLv1fX6M.net] >>602 https://qiita.com/intermezzo-fr/items/43f90e07e4cebe63aeb6
624 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 15:11:06.77 ID:RDWqdqfD.net] >>601 > こういう味方があっても別いいとは思うけど一般的ではない いや、なんの根拠もないお前の定義を一般的と主張されても困るよw イテレータは必ずジェネレータだけどイテレータでないジェネレータはあるだろ(その例が乱数発生器) > yield 乱数生成()で値を返すジェネレータがあったとして > 何回yieldしたかとかloop条件を満たしてるかどうかとか > なんらかの状態を内部に保持することになるよね? そりゃ、そういうジェネレータならそうだろう… 内部情報を保持しない例に保持する奴持ってきて何を言いたいんだ?
625 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 15:27:20.97 ID:TgMttUh/.net] >イテレータは必ずジェネレータだけど どこからこんな解釈が? pythonのイテレータはイテレータプロトコルをサポートするオブジェクトのことだし、 ジェネレータは呼ばれたらイテレータを返す関数のことだろ。
626 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 15:41:35.50 ID:BKihMO2y.net] >>604 日本語のWikipediaの間違った記載を鵜呑みにしてるっぽいね https://ja.wikipedia.org/wiki/ジェネレータ_(プログラミング) 英語版も見るといいよ https://en.wikipedia.org/wiki/Generator_(computer_programming) 疑似乱数生成器(Psuedo Random Number Generator)の名前にジェネレータが含まれてるからといって それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから
627 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 15:43:11.84 ID:BKihMO2y.net] >>606 >それらがプログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないから それらが”すべて”プログラミング言語でいうところのジェネレータを使って実装されてるわけじゃないね ジェネレータのものもあればそうでないものもあるということ
628 名前:デフォルトの名無しさん [2020/08/13(木) 15:45:42.36 ID:hDTlT7Ky.net] 酷いのが居るな 知らないのなら黙ってれば良いのに
629 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 16:08:22.81 ID:3TUGpUf8.net] >>605 >イテレータは必ずジェネレータだけど 逆ぅ! >>> import collections, types >>> issubclass(types.GeneratorType, collections.Iterator) True
630 名前:609 mailto:sage [2020/08/13(木) 16:21:41.93 ID:3TUGpUf8.net] 訂正 >>609 は>>604 へのレスね。
631 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 16:34:47 .net] tkinterでmainloopする前に無限ループ処理をしたいのですが 無限ループ処理Aをするとmainloop()できない mainloop()を先に、無限ループ処理Aを後にすると、無限ループ処理Aできない という板挟みになりました どうしたら良いのでしょうか import tkinter as tk import time while True: _print("処理") _time.sleep(1) root = tk.TK() root.mainloop()
632 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 16:52:12 ID:wdeLOLBT.net] クラスの使い道がわからん 数値や文字を関数に放り込んで値を出して表示する これだけでやりたいことが全部できてやることがなくなった
633 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 17:18:52.97 ID:ut3SsjSC.net] >>611 root = tk.Tk() def mokomoko(): 処理 root.after(1000, mokomoko) root.after(1000, mokomoko) root.mainloop()
634 名前: mailto:sage [2020/08/13(木) 17:19:09.07 ID:P/jo0Y4p.net] >>612 そのとおり クラスなんかなくても何でも書ける ただしクラスという抽象化手段は、単に書けるという以上のものを目指すときに使う 例えば再利用とか
635 名前:デフォルトの名無しさん [2020/08/13(木) 17:22:35.60 ID:CM5c4LB7.net] >>611 まずはかんたんなアナログ時計から作った方がいい
636 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 17:32:17.63 .net] >>613 できました ありがとうございます ついでにボタンを追加してみたのですが 処理中はなぜかプッシュ感がありませんでした ボタンクリックしても押し込まれるアニメーションが出てこない(処理が終わった瞬間、処理前に押したときのボタン処理がドバーッと実行される)のですがそういうものなんでしょうか
637 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 17:34:45.02 .net] >>615 とりあえずストップウォッチのコードを眺めてみることにします
638 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 17:53:26.38 ID:DN44Q+/a.net] 何かしらPythonでなければならない理由があるならともかくGUIならC#で作った方が楽じゃないか?
639 名前:デフォルトの名無しさん [2020/08/13(木) 17:56:22.43 ID:1iT07aDZ.net] >>618 ココはPython の布教>>1
640 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 18:05:56.78 ID:BJex6KXt.net] >>616 細かい所を拘るなら PySimpleGUIとか別ライブラリを使うのも手 (tkinter自体は大昔からあるやつだから、モダンな物を作ろうとするとちょっと大変)
641 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 18:11:59.85 .net] https://ideone.com/h4QkaK とりあえずストップウォッチを参考に書いてみましたが やはりボタンのプッシュ感がありません なぜでしょうか 明らかにroot.afterの行が原因で止まっているんだろうな、という感じです
642 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 18:12:22.88 .net] >>620 なるほど ぐぐってみます
643 名前:デフォルトの名無しさん [2020/08/13(木) 18:14:57.99 ID:0rwjVY3B.net] 複数フォルダの先頭ファイルのみ取り出すにはどういうロジックにしたらいいんでしょうか? フォルダのインデックス0を取り出したあと、各々のフォルダの中でファイルのインデックス0を取り出すという手順になるでしょうか
644 名前:デフォルトの名無しさん [2020/08/13(木) 18:15:56.91 ID:0rwjVY3B.net] あ、違いますね。 フォルダのインデックス0という点は間違いです。フォルダ構造です。 フォルダ1 ┗ファイル1 ┗ファイル2 フォルダ2 ┗ファイル3 ┗ファイル4
645 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 18:32:21 .net] 自己解決したかどうかわかりませんが(意図した処理と同等かよくわからない)一応ボタンが常にプッシュしてくれるようになりました >>621 https://ideone.com/GOuxDw
646 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 19:42:17.54 ID:2TasqE+0.net] >>623-624 その子供ファイルたちの「一番目」って何で決めるの? サイズ?日付?名前???
647 名前:デフォルトの名無しさん [2020/08/13(木) 20:42:25 ID:0rwjVY3B.net] sortedを使用するので、名前です(´・ω・`)、、、
648 名前:蟻人間 mailto:sage [2020/08/13(木) 20:46:52.26 ID:4HMLW5OS.net] フォルダの一覧を作成。 各フォルダについて最初のファイルを取得して、ファイルパスをリストに追加。
649 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 20:58:21 ID:vQKb1geh.net] >>587 一般論であれば、まずPythonにおける「リスト」とは 他言語における「配列」を指す 次に、配列とは単なるデータ構造を指し、 その配列の各要素をあれこれ処理するアルゴリズムは「手続き」として定義される データ構造と手続きが完全に分離されている、これがFORTRAN/COBOLに始まり C/Pascal/Modulaへと続く1980年代前半までの古典的な「手続き型言語」の流れ こうした手続き型の流れは、大規模開発における保守性/再利用性の低さから批判を受け、 対処策として注目された概念の一つが「抽象データ」であり、 これはデータ構造の内部詳細を隠蔽し外部に公開された手続きで処理対象をモデル化する たとえばスタックという抽象データは、内部のデータ構造が配列であっても リンクドリストであっても構わず、外部に公開されたEmpty/Push/Pop/IsEmptyという 手続きの集合(インターフェイス)だけで定義される この抽象データという概念を発展させて、反復(ループ)処理すらも抽象化させるという提案が イテレータ(iterator, 反復子)であり、それが最初に実装されたのがCluと呼ばれる実験的言語になる まとめると、リスト(=配列)とはデータ構造の一種であり、イテレータとはリストを含む 複合データ構造に関する反復処理に限定して抽象データとしてモデル化した概念である
650 名前:デフォルトの名無しさん [2020/08/13(木) 21:02:29.42 ID:0rwjVY3B.net] >>628 ロジックは最初に日本語化したほうがいいですか?
651 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/08/13(木) 21:07:21 ID:4HMLW5OS.net] >>630 英語の方が分かりやすいなら英語で。伝統的な日本人なら日本語で。
652 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 21:18:06.70 .net] PySimpleGUI調べてみました 圧倒的にコードが見やすくなりました 特徴は、レイアウトを最初にまとめてコーディングして 最後にWhile True:でイベントを監視するところでしょうか。 event, value = window.read()の直前後にprintを挟んでテストしてみましたが 一番最初にそのprintが出力され、次にイベントの処理が出力されました つまりwindow.read()のところで待機?してるのだと思いますが その仕組みが今一わからず悶々としています
653 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 21:25:29.32 ID:vQKb1geh.net] >>631 リストに対応する英単語は list であり、 同様に、配列に対応する英単語は array(アレイ) または vector(ベクタ) である 何を言いたいのかな? 英語?日本語?言語は関係ないよ
654 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 22:05:38.43 ID:SL8XbHj+.net] はじめてpysimpleguiを知ったんだけど、tkinterやqtのラッパーだなんて説明を見つけたけど本当? 公式の英語を読むと、ラッパーなんて記述は見つからないのだが。
655 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 23:41:28.50 ID:ut3SsjSC.net] 5秒で見つけたぞ https://pysimplegui.readthedocs.io/en/latest/#whats-the-big-deal-what-is-it
656 名前:デフォルトの名無しさん mailto:sage [2020/08/13(木) 23:45:08.41 ID:SL8XbHj+.net] あ、ホントだ。てことは、exe配布時に必要なバッケージはどうなるんだ? 全部?
657 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 00:07:27 ID:SCMnTycc.net] 例えば、メモ帳のパスなら、コマンドプロンプトで確認できる。 上に表示される方が、優先される where notepad C:\Windows\System32\notepad.exe C:\Windows\notepad.exe 同様に、where php とやってみれば? 環境変数パスを知らないような人は、システム環境構築運用なんて、とてもできない
658 名前:637 mailto:sage [2020/08/14(金) 00:08:54 ID:SCMnTycc.net] >637 誤爆です
659 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 01:42:40.43 ID:H4kV4BPg.net] 何の話かと思ったぜw
660 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 02:25:37.41 ID:SCMnTycc.net] >>623 【.cmd】 バッチファイルスクリプト %13 【.bat】 https://mevius.5ch.net/test/read.cgi/tech/1542779527/972 上に、Ruby で書いておいた。 Rubyでは、フォルダ以下のファイル名を取得する際、自動的にソートされる 他には、隠しファイルをどう扱うのか?
661 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 02:44:30 ID:PbBJ4pBD.net] 再帰関数について質問させてください。 どういう順番で処理されているのかよくわからなかったので、 0から10までの数字を足す処理を再帰で書いて、途中のプロセスをprintで出力しようとしました。 https://techiedelight.com/compiler/?PYzg するとこのような結果が出たのですが、A_10からB_55が二回分printされているのはなぜなのでしょうか。 他のプログラム言語の経験は無く、pythonを始めたばかりです。 変な質問だったらすみません。
662 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 02:55:36.25 ID:sxmwfi0L.net] >>641 total(10) #=> 1回目 print(total(10)) #=> 2回目 2回実行してるから
663 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 03:00:28 ID:PbBJ4pBD.net] >>642 ありがとうございます。わかりました。
664 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 03:15:21.63 ID:PbBJ4pBD.net] 再帰の件、続けての質問ですみません。 https://techiedelight.com/compiler/?b7CW さっきと同じ計算なのですが、printの位置を追加しました。 これを見ると、「def の中で if より上の部分だけは最初に処理される」ように見えます。 そこで疑問なのですが、再帰というのはdefを使っている場合だけに可能な処理で、普通に書いた時は再帰処理することはできない、という理解は正しいですか?
665 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 05:29:46.15 ID:IsZI9WNI.net] ラムダ式っていうのを使えばdef使わなくても再帰はできる しかし本質的にはやってることは同じ
666 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 05:45:29.86 ID:PbBJ4pBD.net] わかりました。ありがとうございます。
667 名前:デフォルトの名無しさん [2020/08/14(金) 06:38:10.15 ID:gdj6lSjH.net] pat = sorted([file.stem for file in foldername.glob("*.txt")]) return pat[0] if pat else None これはフォルダにあるファイルの一覧を取得していますが、 if pat の部分は何を指定しているのでしょうか? もしリストであったのなら とは
668 名前:H [] [ここ壊れてます]
669 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 07:06:27.95 ID:XbgH4NM8.net] >>647 Pythonで「if 変数名」ときたら 「変数がからっぽ系じゃない場合は」という意味 この場合は 「リストになんかHitした結果がはいってるなら」=foldernameの中にtxtファイルがあれば
670 名前:デフォルトの名無しさん [2020/08/14(金) 07:21:42 ID:lmu28MG3.net] この手の暗黙的な書き方は、セキュアじゃないことに気を付けないといけないけどな。 ところで、この場合の角括弧はいらないというか邪魔。 pat = sorted(file.stem for file in foldername.glob("*.txt")) 他に引数がある場合は、丸括弧にする。 pat = sorted((file.stem for file in foldername.glob("*.txt")), reverse=True)
671 名前:デフォルトの名無しさん [2020/08/14(金) 07:34:13 ID:gdj6lSjH.net] >>648 trueということですね ありがとうございます
672 名前:デフォルトの名無しさん [2020/08/14(金) 08:37:56 ID:AaNqGTg5.net] > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
673 名前:デフォルトの名無しさん [2020/08/14(金) 11:06:59.37 ID:gdj6lSjH.net] ファイルに連番を使いたいのですが、イテレータからインデックスを取り出す事はできませんか? import os import pathlib target_folder =pathlib.Path(".") for i in target_folder.iterdir(): os.rename(i,"hoge")
674 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 11:18:33.39 ID:sgFs/qSh.net] enumerate
675 名前:デフォルトの名無しさん [2020/08/14(金) 11:39:11.68 ID:gdj6lSjH.net] あい
676 名前:デフォルトの名無しさん [2020/08/14(金) 15:55:46.15 ID:gdj6lSjH.net] import os import pathlib target_folder =pathlib.Path(".") for i, name in enumerate(target_folder.iterdir()): if name.is_dir(): print(name) os.rename(name,"hoge"+[i]) フォルダを連番リネームするにはどうしたらいいのでしょうか? リストにインデックスはつけられないみたいです。 このエラーです can only concatenate str (not "list") to str
677 名前:デフォルトの名無しさん [2020/08/14(金) 16:15:03.54 ID:jPrekU1/.net] "hoge"+str(i) "hoge{0}".format(i) f"hoge{i}"
678 名前:デフォルトの名無しさん [2020/08/14(金) 16:49:21.19 ID:gdj6lSjH.net] str内でインデックス使っていいんですね ありがとう
679 名前:デフォルトの名無しさん [2020/08/14(金) 18:27:56 ID:gdj6lSjH.net] lis = [1,2,3,4,5,6] for i in lis: rep = "{0}{1}{2}".format("(" , i , ")") print(rep) formatで括弧を付ける場合、これよりかんたんな書き方はあるですか?
680 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 18:29:52.88 ID:IsZI9WNI.net] "({})".format(i)
681 名前:デフォルトの名無しさん [2020/08/14(金) 18:39:59.80 ID:jPrekU1/.net] rep = "{0}{1}{2}".format("(" , i , ")") の発想がすげーよ。 馬鹿にしているわけではないよ。
682 名前:デフォルトの名無しさん [2020/08/14(金) 18:41:02.22 ID:gdj6lSjH.net] 駄目なんですか?
683 名前:デフォルトの名無しさん [2020/08/14(金) 18:46:04.13 ID:zY2s9ydf.net] rep = f'({i})'
684 名前:デフォルトの名無しさん [2020/08/14(金) 18:46:25.97 ID:gdj6lSjH.net] >>659 波括弧になにもない場合は数字は0ということですか?
685 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 18:53:25.52 ID:sgFs/qSh.net] >>662 なんだかマンコみたいだね。
686 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 18:56:50.18 ID:d5rr7Q8j.net] format って、% より優れてんの? どっち使えばいいのかわからない。
687 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 19:04:47 ID:sRXPDhxm.net] >>663 バージョン 3.1 で変更: str.format() を使い、位置引数指定を省略することができます。 '{} {}'.format(a, b) は '{0} {1}'.format(a, b) と同じになります。 https://docs.python.org/ja/3/library/string.html#formatstrings 個人的には嫌い、ちゃんと '{0} {1}'.format(a, b) って書けって思う。
688 名前:デフォルトの名無しさん [2020/08/14(金) 19:10:30 ID:gdj6lSjH.net] どうもです リファレンスはむずすぎて読めなくて
689 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 19:11:16 ID:sRXPDhxm.net] >>665 多くの場合、新構文に {} を加え、 % の代わりに : を使うことで、古い %-書式に類似した書式になります。 って書いてあるぐらいだから新規に書くなら{}の方が良さげみたいよ https://docs.python.org/ja/3/library/string.html#format-examples
690 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 19:46:02.83 ID:CR1HsLIW.net] >>667 チュートリアルの方は読んだ?
691 名前:デフォルトの名無しさん mailto:
[] [ここ壊れてます]
692 名前: mailto:2020/08/14(金) 20:08:24.20 ID:gdj6lSjH.net [ 読んでませんよ yagniの法則ってやつがあるじゃないですか ] [ここ壊れてます]
693 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 20:23:56.31 ID:JGhukcXO.net] >>670 プログラミングむいてないから死んだほうがいいよ
694 名前:デフォルトの名無しさん [2020/08/14(金) 20:38:57.81 ID:gdj6lSjH.net] あっそ
695 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 20:40:43.70 ID:ZRaURx7c.net] >>670 yangiの法則自体は正しいが人に聞く時点ですでneeded itなんだからyangiとか言うのはアホすぎる
696 名前:デフォルトの名無しさん mailto:sage [2020/08/14(金) 21:03:39.40 ID:BnsOUaV6.net] >>670 今必要ないものを後に回すのは構わないが、今必要なものをそれと分からずに面倒だからと後回しにするのは愚か者のすること
697 名前:デフォルトの名無しさん [2020/08/14(金) 21:49:33.08 ID:gdj6lSjH.net] >>673 いえ、チュート全部やれと言われたことだと勘違いしてました
698 名前:デフォルトの名無しさん [2020/08/14(金) 22:25:47 ID:KcsXYi6u.net] >>670 何その法則?