1 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 22:25:08.74 ID:/hGmbW/Z.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56 mevius.5ch.net/test/read.cgi/tech/1640536690/ 次スレたては >>985 あたりが挑戦する。 ### END OF TEMPLATE ###
520 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:14:56.30 ID:QkJUlhBv.net] 手を叩いて大きくすると良い感じになるよ。
521 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:20:46.38 ID:VlRFcd7U.net] >>499 メンバシップ関数を定義するのけ?
522 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:43:22.46 ID:Kadg5L8P.net] >>502 ctrl<->capsの入れ替えくらい
523 名前:デフォルトの名無しさん [2022/07/24(日) 16:12:15.26 ID:ydeGY7xn.net] >>502 親指活用できるエルゴノミクスキーボード使ってる 詳しくはハードウェア板のエルゴノミクスキーボードスレへ kinesis, ergodox, teckあたりかねその辺打ちやすいの
524 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 16:23:06.62 ID:oKMHGzT9.net] 集団自決したはずなのに生きていた人が死去
525 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 19:45:11 ID:e/hljxBO.net] スクレイピングの練習中でリスト内包表記とre.search()について教えてください seleniumとlxmlで取得したデータの変換がうまく行かないです url_list = ['https://www.tekitou'+re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group() for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')] html.cssselect('#tekitou > div > div > a:nth-child(1)').get('href')の時点で取得できてるurlは下記のような感じです。 https://www.tekitou/%〇〇%〇〇/dp/(10桁の英数字 英は半角大文字)/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1 https://www.tekitou/music/player/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1 re.search().group()する前のurlが/dp/ありのurlと/dp/なしのurlに分かれるのですが、 re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group()の作業の際にエラーがでてしまうため /dp/なしのurlを削除するようにするか、 pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1の(10桁の英数字 英は半角大文字)を取得するようにしたいです。 なにかうまい表記があれば教えてください
526 名前:デフォルトの名無しさん [2022/07/24(日) 19:55:36 ID:IZxLU3+7.net] 秀丸最強
527 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 20:08:14.75 ID:JBPZyDq1.net] アマゾンのURLくらいググったら色々出てきそうだけどクソ見にくい正規表現で無理せずにスラッシュでsplitでifにlengthとアスキー確認くらいでいいんじゃないの?
528 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 23:38:55 ID:GhBFnIe8.net] プログラミングって直感じゃね? 論理は直感を説明するの
529 名前:ノ用いることに有効だけど プログラム書くのにいちいち考えないっしょ 考えるのは設計とテストだけだし [] [ここ壊れてます]
530 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 23:39:26 ID:GhBFnIe8.net] それ以外にもあるかもしれんけど
531 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 23:43:50 ID:nVQ6Xq/p.net] >>509 pd_rd_iから取得 url_list = ['https://www.tekitou/dp/{0}/'.format(re.findall(r'\?pd_rd_i=(\w+)', a.get('href'))[0]) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
532 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 00:22:12.12 ID:kwIPZDW5.net] argparse使って、たとえば1つ目の位置引数(スイッチのようなもの)の違いで、それ以降は全く異なる引数ルールになるような場合はどのような指定をすればよいでしょうか? それともそれぞれ別のルールを定義してパースする必要がありますか? すごく簡単な例ですが、addの場合とlistの場合で指定する引数が違うようなものとか user.py -add name [--prop property] -list [--group group]
533 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 00:41:00.73 ID:YiCqNPeZ.net] >>515 1つめの位置引数を読んでから残りをargparseにかければいいんでないの? それかサブコマンド対応してるライブラリを使うか
534 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 00:57:12.30 ID:kwIPZDW5.net] >>516 なるほど。argparseで一度にまとめてできればと思ったんですが、できないってことですね…
535 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 01:00:15.74 ID:gTrk2zFk.net] >>509 例えば、Ruby なら、 URI.split で、URL のパス部分だけを抜き出して、 その文字列内に、/dp/ が含まれているかで条件分岐する require 'uri' dp_url = "example.com/%E3%81%82/dp/a" # あ = %E3%81%82 non_dp_url = "example.com/%E3%81%82/a" p dp_ary = URI.split( dp_url ) p non_dp_ary = URI.split( non_dp_url ) #=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/dp/a", nil, nil, nil] #=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/a", nil, nil, nil] # パス部分 p dp_ary[ 5 ] p non_dp_ary[ 5 ] #=> "/%E3%81%82/dp/a" #=> "/%E3%81%82/a" p dp_ary[ 5 ].match( '/dp/' ) p non_dp_ary[ 5 ].match( '/dp/' ) #=> <MatchData "/dp/"> : 一致する #=> nil : 一致しない
536 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 01:03:04.79 ID:oCKr0yXR.net] add_subparsersでやればいいんじゃない
537 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 09:00:21.95 ID:9Mfr9nvz.net] >>512 うう……設計がプログラミングに含まれてない……うそやろ……
538 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 09:35:32.16 ID:Tcjxae6G.net] >>509 /dp/(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得 ?pd_rd_i=(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得 どちらも無ければ空文字を返しエラーとはならない方法 url_list = ['https://www.tekitou/dp/{0}/'.format(re.search(r'(?<=/dp/)(\w+)|(?<=\?pd_rd_i=)(\w+)|$', a.get('href')).group()) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]
539 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 09:43:03 ID:VgpbHR93.net] >>520 Don't think. Feeeel!!
540 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 10:25:41.85 ID:kwIPZDW5.net] >>519 add_subparsers使えばできますね! ありがとうございます。
541 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 12:52:01.49 ID:gFjrq6Gs.net] >>520 設計は人が考えたものを具現化するプロセスまでの事でプログラミングに含まれないよね プログラミングは優秀な言語と開発支援ツールに頼って直感のままに組み立てる作業 人が本来やることは自身の進化とソフトウエアのアップデート対応に強い設計する事と作業を減らす工夫と世界が前進することへの貢献
542 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 12:57:49.15 ID:gFjrq6Gs.net] 簡単そうに言ってる
543 名前:けど かなり時間かけて様々なことを知らないといけないし知らない未知のことへの挑戦もしてかなきゃいけない そーゆー志を持った人がこのスレの中に居てくれたら俺は嬉しい [] [ここ壊れてます]
544 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 13:20:20.14 ID:9Mfr9nvz.net] >>524 (それコーディングじゃない?)
545 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 14:36:18.33 ID:evu7R6rH.net] docker入れてみたけどやっぱ仮想環境だからGB単位でメモリそこそこつかうんだよな アイドル状態で8GB、vscodeで1〜2GB、dockerで2GB、Chromeで動画見ながら作業したら2〜3GBぐらい使うからギリギリで困る やっぱメモリ32GBは入れないとだめか
546 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 15:07:03.89 ID:fmU0SO/o.net] >>526 (ちんこかゆい)
547 名前:デフォルトの名無しさん [2022/07/25(月) 16:14:04.12 ID:GOtCNvAE.net] https://www.youtube.com/watch?v=B5tSZr_QqXw
548 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 19:47:19 ID:GWKUHzSt.net] >>514 >>521 ありがとうございます 行けました!
549 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 19:49:50 ID:GWKUHzSt.net] seleniumで複数ブラウザ立てて並列処理してみたいけど難しそう scrapyで楽天からスクレイピングしてみたら非同期処理?のせいで早すぎて速攻アク禁くらった
550 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 20:11:37.41 ID:NlibKZuA.net] >>531 プロファイルを別にすればいけるよ 高速化目的で同じサイトに並列アクセスするのはやめた方がいい
551 名前:デフォルトの名無しさん [2022/07/25(月) 20:20:18.30 ID:mO6SEFWJ.net] 流石にもういきなり逮捕はされないと思うけど、librahackみたいなことが起こらないとは言えないから怖いよねー。 アクセスログで見ても、ギリギリ人間がアクセスしてるって言い訳できるぐらいの間隔を乱数で作ってsleepしてるわ。
552 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 21:11:33.84 ID:Tcjxae6G.net] >>511 フハハハハハハハハ、>>521 を刮目せよ! 賞賛の声(>>530 )を聞け! 正規表現はクソ見にくいわけはなく、むしろ簡潔であり完璧であり完全無欠なのである 正規表現にできないことはなく、正規表現に代わるものはなし 正規表現はまさに人類の叡智なのである
553 名前:デフォルトの名無しさん [2022/07/25(月) 21:14:45 ID:GF1rw+EH.net] イヤイヤイヤイヤ、普通にクソ見にくいでしょ。 他人が理解できないものを書くほうが偉いって風潮何とかならんの?
554 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 21:44:24 ID:Tcjxae6G.net] >>535 偉いとかじゃなくて便利なんだよ >>521 の正規表現は別に難しい部類じゃない、\wは単語文字という意味で英数字も含まれる \w+で単語文字が1個以上という意味になる、その前の(?<=...)は後読みアサーションで これにマッチした後の\w+をサーチしているわけで基本というか、ちょっと勉強すれば、というか 正規表現の仕様に例が載ってるから、例みたらすぐ理解できるよ https://docs.python.org/ja/3/library/re.html 自分的には最後の|$が工夫した点で、コレでサーチできなかった場合に空文字を取得させることができる 正規表現使わずにスラッシュでsplitでifにlengthとアスキー確認なんかの方が見にくいだろうし 面倒すぎてやっとれんよ
555 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 22:07:08.94 ID:5m9dN2FM.net] (超初心者用)
556 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 22:50:49 ID:Tcjxae6G.net] >>529 最新動画の@cacheがマジ感動した、最後のフィボナッチの高速化がマジ良かった マジでマジでマジだから
557 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 23:03:45 ID:gTrk2zFk.net] WSL2, Docker は、8GB メモリじゃキツイ 16〜3
558 名前:2GBは欲しい [] [ここ壊れてます]
559 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 23:56:34.13 ID:XTViXxR/.net] >>536 スラッシュでsplitでアスキー確認って [i for i in ○.split('/') if len(i) == 10 and i.isascii()] で終わりでしょ それ自体に難しさも見にくさも感じないが
560 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 01:23:31.22 ID:HcfNtCqI.net] 正規表現学びたいけど複雑すぎて訳分かんねえよ なんか練習できるところないの? ゲームっぽく遊べたりする所どっかあるだろ?
561 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 03:23:25.62 ID:fUa59wf/.net] ターミナル
562 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 08:00:48.09 ID:hxnsYVU0.net] >>540 これはアカンでしょ、ifってそんなけ? /dp/の判定が無いし /dp/が無かった場合にpd_rd_iから取得する処理が無いし これでいいなら正規表現ならこうじゃわいな re.search(r'\w{10}|$', ○).group()
563 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 08:23:18 ID:hxnsYVU0.net] findall使った方がいいか、こっちの方が>>540 と処理結果同じだわ re.findall(r'\w{10}', ○)
564 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 09:42:11.06 ID:28W+mdVQ.net] 10桁英数のチェックが必要ないならこれでいけるんじゃね ([i[:10] for i in url.split("/dp/") + url.split("pd_rd_i=") if not i.startswith("https:")] + [""])[0] チェック必要なら1行ではきびしいか
565 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 10:10:32.06 ID:2F7nQnXP.net] pd_rd_iは必須じゃないからなあ
566 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 11:04:25.18 ID:hxnsYVU0.net] >>545 を抽象化+10桁チェック+isasciiチェック追加(10桁チェックは不要だとは思うけども・・) [i[:10] for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(i[:10])==10 and i[:10].isascii()] 気づいたんですけどこのisascii()でのチェックはasciiのチェックであって、ascii文字のチェックじゃないから 英数字だけじゃなくて/やtabやらもTrue判定しちゃいますからダメですね ちなみに>>521 も10桁チェックは入っていないのですが、入れた場合は以下のようになりまして その場合もやはり分かりやすい、可読性が良い、簡潔、何をしているかすぐ分かる 正規表現スキになっちゃったって方はgoodボタン押してください^^ re.search(r'(?<=/dp/)(\w{10})|(?<=\?pd_rd_i=)(\w{10})|$', url).group()
567 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 11:06:35.56 ID:Uy4U9BVa.net] goodボタンってどこにあるの?
568 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 11:37:39.45 ID:PhJ4pIjK.net] 精神病になるとそういうボタンが見えるらしいよ
569 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 12:16:00.10 ID:k5BnME6W.net] こいつ上の方にいた日記帳キチガイだな
570 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 12:21:32.78 ID:r5zklFsb.net] ハッタツしょう害なんじゃねえの
571 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 12:37:44 ID:28W+mdVQ.net] >>547 英数字チェック完全版+セイウチ [x for i in url.split("/dp/")[1:] or url.split("pd_rd_i=")[1:] if len(x:=i[:10])==10 and x.isascii() and x.isalnum()]
572 名前:デフォルトの名無しさん [2022/07/26(火) 12:44:17 ID:IrL7txwd.net] ・フリーランスに立ちはだかる「常駐」の壁。慣例を打ち壊し、 “テレワーク”案件3割→8割へと成長を遂げた「クラウドテック」の軌跡 ・リモートワーク求人専門サイト「プロリモート」がリニューアルオープン、 業務委託契約の求職者と企業をマッチング ・1/3以上が採用につながる高マッチング率、リモートワーク×エンジニア・デザイナー専門の 人材紹介サービス「ReworkerAgent」正式リリース場所からも時間からも自由な働き方を実現! ・『ReWorks(リワークス)』リモートワーク特化型
573 名前:]職サイトとして 3月5日 リニューアル ・副業・兼業マッチングサービス「クラウドリンクス」登録者数2万人突破 中小企業で進む副業人材の採用、96%が継続採用を希望 ・フリーランスが活用できる「最大1,000〜3,000万円・補助率50%〜75%」の 『ものづくり・商業・サービス補助金』とは?概要や条件を解説 ・茨城県日立市、県外からの「テレワーク移住者」に最大151万円の助成金 ・長野市、市内に移転・事業所設置し、移住することで最大550万円の支援金を支給 [] [ここ壊れてます]
574 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 12:59:25.55 ID:hxnsYVU0.net] >>552 すばらしい! これ以上は良くなりそうにないね こうして見るとやはり正規表現の方がいい、仕様変更にもすぐ対応できるし
575 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 13:07:45.08 ID:563vGs1S.net] ではこの話はこれで終わりです
576 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 13:15:56.15 ID:hxnsYVU0.net] へ? ここで>>552 が「実行速度では負けてないもんね!」つって速度勝負をしかけてきて それならre.compileじゃぁあああって応戦してからの、やっぱ「速度じゃreは不利じゃわい」 つって、「いやいや、やはり正規表現さんの勝ちですわ、メンテナンス性では完敗ですもん」 ってお互いが歩み寄ってからの熱い握手で終幕やろうが! まあええわ次の話題もってこいや
577 名前:デフォルトの名無しさん [2022/07/26(火) 13:30:39.77 ID:P5K5X/wN.net] ID:t+dBeaSp ID:lkZCuVJ2 ID:Tcjxae6G ID:hxnsYVU0
578 名前:デフォルトの名無しさん [2022/07/26(火) 16:43:34.40 ID:gc9s0ohk.net] 以上 今日の自演でした
579 名前:デフォルトの名無しさん [2022/07/26(火) 17:59:35.79 ID:gc9s0ohk.net] >>492-494 秋葉で暴走した加藤は死刑完了したそうだ
580 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 18:59:47.50 ID:aND0EYYo.net] python使いやすくていいわーって思ってたけど json使ったら面倒だなと思った… これ自分で辞書にしたり戻したりしないといけないわけ? pickleちゃんはバイナリになるからやだ
581 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 19:06:35.62 ID:QBs9x9BG.net] >>559 あの事件で大学の同級生死んじゃったよー……。執行まで長かったなー
582 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 19:40:58.02 ID:Uy4U9BVa.net] まじかよ 東大近いもんな 優秀な人を亡くすのは実に惜しい
583 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 19:44:17.06 ID:QBs9x9BG.net] >>562 は?東大生死んでないが?
584 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 19:44:58.50 ID:Sr1olQPp.net] while True: わーいPython便利だなー あれ?このXを扱うのってめんどくさくね? 他の言語にしよっと X以外がめんどくさすぎる!
585 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 19:57:04.85 ID:hxnsYVU0.net] >>560 じゃあyamlちゃんは? https://www.youtube.com/watch?v=rpbq6vXcNbM
586 名前:デフォルトの名無しさん [2022/07/26(火) 20:47:35.71 ID:GQvz79KS.net] Jsonって殺人鬼だったのに。
587 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 21:16:10.07 ID:OUnIdkcH.net] 全損
588 名前:デフォルトの名無しさん [2022/07/26(火) 22:30:48.06 ID:Rgm2Z23r.net] >>560 これってどういうこと?Pythonのオブジェクトに変換せずに何かをやりたいっていうこと?
589 名前:デフォルトの名無しさん mailto:sage [2022/07/26(火) 23:43:27.38 ID:wQrOnGuH.net] yamlの仕様を学ばないままcomposeやk8sを使ってる
590 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 03:54:50.01 ID:PQGmIH2y.net] パスの\を/にかえなきゃいけないのが面倒すぎるんだがなんか方法ないのか? \\にかえるのもめんどう で調べたらRつけるだけでいいらしい…… だったら最初から\読み込めるようにしろよ!
591 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 09:00:44
] [ここ壊れてます]
592 名前:.94 ID:pyuUgR41.net mailto: >>560 jsとpythonでしかjson使ったことないけど、どちらも使い勝手は変わらんと思うが。 [] [ここ壊れてます]
593 名前:デフォルトの名無しさん [2022/07/27(水) 10:05:16 ID:elZrgoJK.net] >>560 があほすぎなすれ
594 名前:デフォルトの名無しさん [2022/07/27(水) 13:08:32.87 ID:B7vnAx8k.net] >>570 その文句は、エスケープ文字を勉強したほうしたほうがいい あといちいち手動でreplaceするよりPathlib使った方がかかいもよ https://pystyle.info/python-pathlib/
595 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 13:27:46.89 ID:aU47T/gU.net] パースするだけなのにそんなに面倒か?
596 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 13:28:56 ID:aU47T/gU.net] すまん、jsonの話な
597 名前:デフォルトの名無しさん [2022/07/27(水) 15:26:57.56 ID:B7vnAx8k.net] PythonでJSONの取り扱いは、JS以外の他の言語と比べたらめちゃくちゃ楽な方だと思うけどな。ほとんどJSと変わらない。 CはともかくC++だって全然簡単じゃないからねえ。CだとPythonの5倍、C++でも2.5倍ぐらいの記述量になる気がする。
598 名前:デフォルトの名無しさん [2022/07/27(水) 16:26:23.72 ID:G6wuTkcd.net] 何年前の話よ https://github.com/nlohmann/json
599 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 16:52:22.09 ID:aU47T/gU.net] jsonはpythonのビルトインパーサーでなんとかなるな 使えないhtmlパーサーとは大違い
600 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 19:30:05 ID:xJ8anoa4.net] python に限った話じゃないけどなぜか html パーサーっこれって言う奴ないよね
601 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 20:20:11.22 ID:aU47T/gU.net] >>579 htmlが、sgml/xmlを簡略化した派生で 文法があまりに自由でゆるゆるだったから、 もともとデータ処理には向いていなかったということなんだと思うよ
602 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 20:28:14.33 ID:xJ8anoa4.net] >>580 そうは言っても html で公開されてるデータもあるんだからねぇ
603 名前:デフォルトの名無しさん mailto:sage [2022/07/27(水) 20:42:25.68 ID:aU47T/gU.net] >>581 現状では、外部モジュールに頼るか、力づくでなんとかするかしかないものねw 最近はhtmlに組み込まれたjsonデータ形式(json-ld)が多くなって、 データを探るくらいならあまり悩まずにすむので助かってるわ
604 名前:デフォルトの名無しさん [2022/07/27(水) 22:42:50.60 ID:+MHO4Y86.net] 君ら二人が思ってるほどそういう需要がないんじゃない 結局やりたいのはスクレイピングでしょ
605 名前:デフォルトの名無しさん [2022/07/27(水) 23:00:58.07 ID:+MHO4Y86.net] スクレイピングできるようなライブラリを標準ライブラリに組み込んで欲しくはないよね html.parseは確かにシンプルだとは思うけど、どこまでってなると難しい html自体がかなり緩いから、サービス依存とか流行に依存してしまうんだよね まぁ、Beautiful Soupもあるしいいじゃないすか
606 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 00:22:28 ID:nqLen+JC.net] yieldって初めて見た ジェネレーター関数?を作るときに使うのか 正直使い道がわからんな ジェネレーターとかイテレーターとかはだいたいわかるけど
607 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 05:13:59.70 ID:mvZe9xm4.net] >>585 > ジェネレーターとかイテレーターとかはだいたいわかるけど わかってたらyieldの使いどころがわからんとかないと思うが...
608 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 05:40:55.75 ID:8YG1K1uV.net] >>586 こういうやつって結局何聞かれても説明できないやつだよな
609 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 05:45:38.18 ID:yBjc1Rgi.net] 国債取引してればyieldなんてしょっちゅう見るけどな
610 名前:デフォルトの名無しさん [2022/07/28(木) 16:20:58.93 ID:m8z1CQHY.net] 教えてください。 Wordpressに記事投稿する際に閲覧パスワードをつけたい場合 ‘status’=‘publish’, ‘contents’=‘記事本文
611 名前:’,, ‘password’=‘閲覧パスワード, ‘tag’=1 …. と指定しています。 投稿自体は成功しているのですがパスワード付きの記事になりません。 どなたか解決策をお願いします。 [] [ここ壊れてます]
612 名前:デフォルトの名無しさん [2022/07/28(木) 20:16:12.08 ID:Hv8PyQaz.net] >>585 馬鹿には無理
613 名前:デフォルトの名無しさん [2022/07/28(木) 22:51:57.42 ID:9hZjKw0t.net] >>585 リスト返すよりよりジェネレータ―の方がコスト低いからでは解決しない質問?
614 名前:デフォルトの名無しさん mailto:sage [2022/07/28(木) 22:58:58.42 ID:cRsx7yDk.net] リスト作成のコストと比べても意味ないやろ yield使わずにジェネレーターを作ればありがたみが分かる
615 名前:デフォルトの名無しさん mailto:sage [2022/07/29(金) 00:22:32.77 ID:fEBZH37g.net] リストをfilter()使ってlambda式ではなく外部関数を呼び出して抽出する場合、外部関数に追加の引数を渡すことってできますか? リストの要素に加えてさらに判定用の引数を与えて外部関数で処理させたいです
616 名前:デフォルトの名無しさん mailto:sage [2022/07/29(金) 01:28:35.66 ID:8gcFFgPp.net] >>593 部分適用した関数を用意すればできるよ partialとか関数を返す関数を書くとかで リストを[(要素, 追加引数)]の形にzipするのでもてきる ただlambda使って外部関数に引数渡すのが一番よく使われてる印象
617 名前:デフォルトの名無しさん mailto:sage [2022/07/29(金) 02:05:51.08 ID:sW6reep3.net] >>593 functools. partial
618 名前:デフォルトの名無しさん mailto:sage [2022/07/29(金) 02:28:02.24 ID:fEBZH37g.net] >>594 ,595 functools.partialもlmbdaもできました。ありがとうございます。 確かにlambdaのほうがすぐに書けるのと、パッと見て分かりやすいかもですね
619 名前:デフォルトの名無しさん mailto:sage [2022/07/29(金) 16:36:15.82 ID:0LOpWdsN.net] ある変数に対してifまたはelseで値を代入するとき「未定義の可能性があります」という警告が出てしまいます。 この警告は無視して構わないのでしょうか? 実際はifかelseが必ず実行されるため、未定義になることは無いと思います。
620 名前:デフォルトの名無しさん mailto:sage [2022/07/29(金) 18:15:50.48 ID:APedJzV4.net] 両方でちゃんと定義があれば問題ないんじゃないの