当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「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/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 くだすれPython(超初心者用) その50【まず1嫁】
http://mevius.5ch.net/test/read.cgi/tech/1598527450/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
探検
くだすれPython(超初心者用) その51【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/10/17(土) 10:05:38.14ID:1RQ0Wdhu429デフォルトの名無しさん
2020/11/19(木) 23:28:35.13ID:Na4zD9bI >>428
なるほど、ちゃんと読んでなかったけど
importを書きたくないからの主張なのか
なら、json.dumpsの1行上にimport jsonを書いて2行コピーするのはどうかな?
何回importがあっても問題ないし、文が書けるところならどこにでも書けるし、
式で完結させたければ
__import__('json').dumps(obj)
とすればいいみたい。(これにはちょっと驚いた)
自分はめちゃくちゃ簡単なはずのjsonでも固定のjsonを条件によって2個出し分ければいいとかじゃなければ、
たかだかjsonを出すのに、strに変な文字が入らないか考えたりintをstrに変換する方法を考えたりして、余計な判断が入るのが嫌だから、jsonモジュール任せだな。
まあ、楽な方法は人それぞれだと思うんでjsonモジュールを使わないのが楽と思う人もいるのは否定しないけど。
なるほど、ちゃんと読んでなかったけど
importを書きたくないからの主張なのか
なら、json.dumpsの1行上にimport jsonを書いて2行コピーするのはどうかな?
何回importがあっても問題ないし、文が書けるところならどこにでも書けるし、
式で完結させたければ
__import__('json').dumps(obj)
とすればいいみたい。(これにはちょっと驚いた)
自分はめちゃくちゃ簡単なはずのjsonでも固定のjsonを条件によって2個出し分ければいいとかじゃなければ、
たかだかjsonを出すのに、strに変な文字が入らないか考えたりintをstrに変換する方法を考えたりして、余計な判断が入るのが嫌だから、jsonモジュール任せだな。
まあ、楽な方法は人それぞれだと思うんでjsonモジュールを使わないのが楽と思う人もいるのは否定しないけど。
430デフォルトの名無しさん
2020/11/19(木) 23:38:08.43ID:zsB/MCGD 考え方は人それぞれなんでしょうけど、「スマートな書き方」という質問に対して、JSON形式で返すのならjson.dumps使ったほうが他人がコードを読んでも「あ、これはJSONで返すんだな」と意味が理解しやすいしスマートだと思うなぁ
自己満足的なスマートか、保守性も考えたスマートなのか、方向性の違いかしら。
自己満足的なスマートか、保守性も考えたスマートなのか、方向性の違いかしら。
431デフォルトの名無しさん
2020/11/19(木) 23:57:14.70ID:gzIvj2mX import書きたくないから文字列コピペするとかちょっと意味わからん
432デフォルトの名無しさん
2020/11/20(金) 00:20:07.13ID:aJFtJ7NQ >>429
>importを書きたくないからの主張
'{"status":200,"error":"hoge"}'
とか直接書いてもいいし
res(200,"hoge")とかでもしいし
json.dumps(res)とかでもいい
自作モジュールで管理するでもいいし
という前提があります
が今回は、関数に分けるまでもjsonモジュール使うまでもなさそうだな
という用途で、かつ汎用的に流用したい、かつ変数代入やimportの省略による行数の節約
などができないかと思ったときに
formatの使い勝手が良かったしかし、{の干渉があった
が、結果的にその干渉を除くことができました
ってだけの話です
書きたくないというより使うまでもないな
ということに尽きると思います
>importを書きたくないからの主張
'{"status":200,"error":"hoge"}'
とか直接書いてもいいし
res(200,"hoge")とかでもしいし
json.dumps(res)とかでもいい
自作モジュールで管理するでもいいし
という前提があります
が今回は、関数に分けるまでもjsonモジュール使うまでもなさそうだな
という用途で、かつ汎用的に流用したい、かつ変数代入やimportの省略による行数の節約
などができないかと思ったときに
formatの使い勝手が良かったしかし、{の干渉があった
が、結果的にその干渉を除くことができました
ってだけの話です
書きたくないというより使うまでもないな
ということに尽きると思います
433デフォルトの名無しさん
2020/11/20(金) 00:25:40.46ID:Y24NtUEO >>432
個人的な趣味だけど、まあC言語とかで書いてるなら言うことは同意できるよ。C言語で書いててそこからの移植とか。
個人的な趣味だけど、Python使ってて「使うまでもない」かどうか一々判断するのは面倒だなって思っちゃう。Pythonって、使えるものは何でも使ってやれの富豪プログラミングの精神に近いかなと。
まあ個人的な趣味でしかないんで、その判断をするのが異常だとは思わないよ。色々な理由があるのだろうし。
個人的な趣味だけど、まあC言語とかで書いてるなら言うことは同意できるよ。C言語で書いててそこからの移植とか。
個人的な趣味だけど、Python使ってて「使うまでもない」かどうか一々判断するのは面倒だなって思っちゃう。Pythonって、使えるものは何でも使ってやれの富豪プログラミングの精神に近いかなと。
まあ個人的な趣味でしかないんで、その判断をするのが異常だとは思わないよ。色々な理由があるのだろうし。
434デフォルトの名無しさん
2020/11/20(金) 01:08:25.18ID:kqUw2Oqc435デフォルトの名無しさん
2020/11/20(金) 01:22:02.94ID:aJFtJ7NQ 極論""返すだけだとしてもどんな場合でもチェックすべきだ
みたいな議論と同じでその主張はさすがに違和感あります >>434
みたいな議論と同じでその主張はさすがに違和感あります >>434
436デフォルトの名無しさん
2020/11/20(金) 01:28:55.33ID:1jDOgyGC statusコードを成型して返すだけのモジュールは別のケースで使っていて
今回はそれを使わないケースだった、というだけの話なのですが
もしかするとどんな場合でもformatを使った書き方でやっている
と勘違いしてる人がいるのかもしれない
今回はそれを使わないケースだった、というだけの話なのですが
もしかするとどんな場合でもformatを使った書き方でやっている
と勘違いしてる人がいるのかもしれない
437デフォルトの名無しさん
2020/11/20(金) 05:05:30.75ID:pwTm9Uxw >>272
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL を使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
漏れは、Windows 10, WSL2, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL を使う
Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた
yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト
anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える。
同様のツールに、asdf もある
438デフォルトの名無しさん
2020/11/20(金) 05:15:51.38ID:pwTm9Uxw Ruby on Rails では、API モードがあって、API 用のアプリも作れる
初心者は、そういう事を知らないから、
何でも時間をかけて、低品質なアプリを自分で作るw
初心者は、そういう事を知らないから、
何でも時間をかけて、低品質なアプリを自分で作るw
439デフォルトの名無しさん
2020/11/20(金) 05:29:48.35ID:pwTm9Uxw >>411
>UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
これで、検索してみれば?
UTF-8 は以下のように、先頭ニブル・4ビットで、1〜4バイト文字を判別しています
1バイト文字: 0000〜0111: 0〜7
多バイト文字の2バイト目以降
1000〜1011: 8〜11(8〜B)
2バイト文字: 1100〜1101: 12〜13(C〜D)
3バイト文字: 1110: 14(E)
4バイト文字: 1111: 15(F)
0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
>UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
これで、検索してみれば?
UTF-8 は以下のように、先頭ニブル・4ビットで、1〜4バイト文字を判別しています
1バイト文字: 0000〜0111: 0〜7
多バイト文字の2バイト目以降
1000〜1011: 8〜11(8〜B)
2バイト文字: 1100〜1101: 12〜13(C〜D)
3バイト文字: 1110: 14(E)
4バイト文字: 1111: 15(F)
0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
440デフォルトの名無しさん
2020/11/20(金) 05:43:06.55ID:pwTm9Uxw 我流の人は、Git のプルリクを知らなそう。
就職では必須項目
上の人が見たら、一発で書き直し。
バグりやすいコードは、プルリクを受け付けられないだけ
議論するだけムダ
チェックを通ったコードは、合法になるから、
皆が模範にしてコピペするから、我流はダメ!
就職では必須項目
上の人が見たら、一発で書き直し。
バグりやすいコードは、プルリクを受け付けられないだけ
議論するだけムダ
チェックを通ったコードは、合法になるから、
皆が模範にしてコピペするから、我流はダメ!
441デフォルトの名無しさん
2020/11/20(金) 06:50:20.26ID:DAmoUJMr442デフォルトの名無しさん
2020/11/20(金) 08:19:06.00ID:azkfkwLr >>431
んだんだ
んだんだ
443デフォルトの名無しさん
2020/11/20(金) 08:27:43.79ID:04W8lkpW パイソンって書いた事ねーんだけっども、ブロックってインデントで
表現するんだべ?するってーと、100行のブロックにifに入れてぇ
ときは、100行分インデントすんのけ?
表現するんだべ?するってーと、100行のブロックにifに入れてぇ
ときは、100行分インデントすんのけ?
444デフォルトの名無しさん
2020/11/20(金) 09:03:36.27ID:azkfkwLr445デフォルトの名無しさん
2020/11/20(金) 09:09:51.23ID:WciP5EDn でも範囲の指定は自分でやらんとならんよね。
他の言語ならブロックの開始と終了を書いてやればいいんだけど
pythonは自分で範囲指定してインデントしてやる必要がある。
他の言語ならブロックの開始と終了を書いてやればいいんだけど
pythonは自分で範囲指定してインデントしてやる必要がある。
446デフォルトの名無しさん
2020/11/20(金) 09:33:53.10ID:04W8lkpW やっぱりそれなりのエディタや統合環境が前提なのかな(もちろん批判ではない)。
マジレスありがとう。
マジレスありがとう。
447デフォルトの名無しさん
2020/11/20(金) 09:52:05.41ID:azkfkwLr448デフォルトの名無しさん
2020/11/20(金) 11:05:57.25ID:T+fLV2lq 行選択してtabキー押すだけじゃないの?
秀丸ってそうなの?
秀丸ってそうなの?
449デフォルトの名無しさん
2020/11/20(金) 11:14:42.02ID:azkfkwLr450デフォルトの名無しさん
2020/11/20(金) 11:26:50.71ID:E6icsWYy なんでVSCODE使わないの?
451デフォルトの名無しさん
2020/11/20(金) 11:33:54.21ID:iBr2xRx4 回答者側と思しき立場でただのgit管理にすら怪訝する人が上の方でちらほらいたので正直驚いたけど
個人開発であってもgitはほぼ必須になってくる場面があるのでまとめて覚えておいて損はない
個人開発であってもgitはほぼ必須になってくる場面があるのでまとめて覚えておいて損はない
452デフォルトの名無しさん
2020/11/20(金) 11:48:54.11ID:SYPK5ijx >>451
流れ軽く読んで来たけど
・実装の重複を防ぐためのクラス/メソッド抽出してモジュール化
⇒設計的な話
・Gitでモジュール化したものを管理する
⇒バージョン/ファイル管理的な話
この二つは本質的には別問題だけど、何故か混同された話になってて
よく分からん事になってるな
(実際の開発考えるとGit使ったやり方になるから分からん話でもないが)
流れ軽く読んで来たけど
・実装の重複を防ぐためのクラス/メソッド抽出してモジュール化
⇒設計的な話
・Gitでモジュール化したものを管理する
⇒バージョン/ファイル管理的な話
この二つは本質的には別問題だけど、何故か混同された話になってて
よく分からん事になってるな
(実際の開発考えるとGit使ったやり方になるから分からん話でもないが)
453デフォルトの名無しさん
2020/11/20(金) 11:58:33.01ID:azkfkwLr >>450
ネットブックだと動かない
ネットブックだと動かない
454デフォルトの名無しさん
2020/11/20(金) 12:11:55.05ID:pblrwhkp Notepad++にPython Indentを入れれば同じことができる。
455デフォルトの名無しさん
2020/11/20(金) 12:32:50.55ID:azkfkwLr だがおれは秀丸派
456デフォルトの名無しさん
2020/11/20(金) 12:47:59.38ID:27JFXKUI >>439
>4バイト文字: 1111: 15(F)
>0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
1バイト文字は0xxx-xxxx
2バイト文字は110x-xxxx
3バイト文字は1110-xxxx
4バイト文字は1111-0xxx
↑この制限だけでも4バイト文字の先頭バイトは0xF0~0xF7の範囲
実際はUnicodeのコードポイントの上限がU+10FFFFまでなので0xF0~0xF4(1111-0100)
>4バイト文字: 1111: 15(F)
>0xff は、4バイト文字を示すけど、それで始まる文字が存在しないのかも?
1バイト文字は0xxx-xxxx
2バイト文字は110x-xxxx
3バイト文字は1110-xxxx
4バイト文字は1111-0xxx
↑この制限だけでも4バイト文字の先頭バイトは0xF0~0xF7の範囲
実際はUnicodeのコードポイントの上限がU+10FFFFまでなので0xF0~0xF4(1111-0100)
457デフォルトの名無しさん
2020/11/20(金) 13:12:12.59ID:pRZ0VqUl chromebookでも動くvscode(´・ω・`)
458440
2020/11/20(金) 13:17:17.31ID:pwTm9Uxw YouTube で有名な、雑食系エンジニア・KENTA が言ってる
Git のプルリクは、転職に必須項目だと
Git のプルリクは、転職に必須項目だと
459デフォルトの名無しさん
2020/11/20(金) 13:33:16.00ID:RwZlwr9h パソコンor通信環境のスペック次第だが仮想環境であればvscodeに限らず大体使える
スマホですら動く
スマホですら動く
461デフォルトの名無しさん
2020/11/20(金) 14:07:20.42ID:geOpYg9g462デフォルトの名無しさん
2020/11/20(金) 14:57:48.56ID:gfvoQY5i gitを持ち出したのは>>416の指摘通りだろうけど、書いてる内容見るとpythonのモジュールを理解してなさそう
自分が知らなかったことや見落としてたことを絶対に認めずに (本人にとっての)俺はできるんだぞアピールで返す人はスルーに限る
自分が知らなかったことや見落としてたことを絶対に認めずに (本人にとっての)俺はできるんだぞアピールで返す人はスルーに限る
463デフォルトの名無しさん
2020/11/20(金) 15:40:25.51ID:abuyzRZn464デフォルトの名無しさん
2020/11/20(金) 16:07:05.73ID:Cnjv1GAE いやプルリクそのものじゃなく今までにプルリクした実績のことじゃないの
GitHubアカウントを見せてこんなことしてきましたよと自己アピールする感じで
そんなん実際にするのか知らんけど
GitHubアカウントを見せてこんなことしてきましたよと自己アピールする感じで
そんなん実際にするのか知らんけど
465デフォルトの名無しさん
2020/11/20(金) 16:12:52.30ID:dRk/TXCB 日本語翻訳のプルリクでもええか?
466デフォルトの名無しさん
2020/11/20(金) 16:21:35.66ID:abuyzRZn467デフォルトの名無しさん
2020/11/20(金) 16:27:14.70ID:SYPK5ijx >>466
流石にそれは偏見すぎる
流石にそれは偏見すぎる
468デフォルトの名無しさん
2020/11/20(金) 16:51:03.75ID:zSvQnKz4 最初の質問が>>386だからな
こんなもんjsonモジュール使えで終わる話だろ
こんなもんjsonモジュール使えで終わる話だろ
469デフォルトの名無しさん
2020/11/20(金) 17:12:00.89ID:27JFXKUI プルリクはOSSに限らないよ
転職の話はプルリクベースの開発スタイルに馴染みがあるかどうか
もしくは適応できるかどうかっての話だと思う
転職の話はプルリクベースの開発スタイルに馴染みがあるかどうか
もしくは適応できるかどうかっての話だと思う
470デフォルトの名無しさん
2020/11/20(金) 17:38:21.51ID:AGMq159w すまん、それpython関係ある???
471デフォルトの名無しさん
2020/11/20(金) 17:53:38.81ID:04W8lkpW あげるなよ、何かを信じてる方々の啓蒙活動なんだから。
背景雑音だっぺ。
背景雑音だっぺ。
472デフォルトの名無しさん
2020/11/20(金) 19:34:59.52ID:M1wpYzhx モジュール化してimportするまでもない
git管理するまでもない
関数化はしてもいいがするまでもない
そういう用途下で、ただのformat関数をつかった文字列出力の小技の話なのに
なぜかどんな場合にもimportすべきだjsonモジュール使ってチェックすべきだ
みたいな勢力がいる違和感
git管理するまでもない
関数化はしてもいいがするまでもない
そういう用途下で、ただのformat関数をつかった文字列出力の小技の話なのに
なぜかどんな場合にもimportすべきだjsonモジュール使ってチェックすべきだ
みたいな勢力がいる違和感
473デフォルトの名無しさん
2020/11/20(金) 19:42:56.25ID:abuyzRZn >>472
違和感でも何でもない
技術者にはそれぞれ己の中に譲れないポリシーがある
「〜するまでもない時はしないでいい」というのもポリシーだし
「どんな時も〜するべきだ」というのもポリシーだ
それが匿名掲示板でぶつかり合うとこうなる
違和感でも何でもない
技術者にはそれぞれ己の中に譲れないポリシーがある
「〜するまでもない時はしないでいい」というのもポリシーだし
「どんな時も〜するべきだ」というのもポリシーだ
それが匿名掲示板でぶつかり合うとこうなる
474デフォルトの名無しさん
2020/11/20(金) 20:00:35.31ID:OHdUFTne >>462
git持ち出したのは>簡単な用途でない場合
の一例ですよ
簡易的に仮想環境化で動作確認したい場合とか
statusを返すようなモジュール個別開発したりcloneしたりバージョン管理もする必要のない用途例として出しただけです
ここの人なら普通に使ってるものだと思っていたし
できる人のアピールになぜgit?という感じで正直謎でした
git持ち出したのは>簡単な用途でない場合
の一例ですよ
簡易的に仮想環境化で動作確認したい場合とか
statusを返すようなモジュール個別開発したりcloneしたりバージョン管理もする必要のない用途例として出しただけです
ここの人なら普通に使ってるものだと思っていたし
できる人のアピールになぜgit?という感じで正直謎でした
475デフォルトの名無しさん
2020/11/20(金) 20:29:53.22ID:l5Hw5z7m 2行目で何をしてるのか教えて下さい
s = input()
print(max(map(len, s.split('S'))))
s = input()
print(max(map(len, s.split('S'))))
476デフォルトの名無しさん
2020/11/20(金) 20:35:44.50ID:azkfkwLr >>475
print、max、map、len、split
それぞれでggrks
続きは↓でな
https://mevius.5ch.net/test/read.cgi/tech/1258320456/
print、max、map、len、split
それぞれでggrks
続きは↓でな
https://mevius.5ch.net/test/read.cgi/tech/1258320456/
477デフォルトの名無しさん
2020/11/20(金) 20:47:13.53ID:uMSrjpcB JSONで返しますって言ってるAPIがJSON風の自前の文字列返してくるとか嫌がらせ以外のなにものでもない
何のためにJSONが存在してると思っている
何のためにJSONが存在してると思っている
478デフォルトの名無しさん
2020/11/20(金) 20:54:33.52ID:abuyzRZn >>475
sに入力した文字列を'S'を境にして区切り、区切った文字列ごとに文字数を算出し
その中から最大の数を選んで表示する
これは難解
map関数は関数型言語からバクッてきた機能らしく、Pythonの文脈に馴染んでおらず
使うと大抵可読性が落ちる
プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
sに入力した文字列を'S'を境にして区切り、区切った文字列ごとに文字数を算出し
その中から最大の数を選んで表示する
これは難解
map関数は関数型言語からバクッてきた機能らしく、Pythonの文脈に馴染んでおらず
使うと大抵可読性が落ちる
プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
479デフォルトの名無しさん
2020/11/20(金) 20:57:12.97ID:Y24NtUEO バージョン管理しない書き捨ての用途だとしてもjsonモジュール使う方が何も考えなくていいもの
jupyterで適当なコード書くときだってjson numpy pandasあたりは大体始めに必要だとわかってimportしとくわ。
自分でフォーマットする合理性が理解できない。
「jsonモジュールを使うまでもない」というが、「jsonモジュールを敢えて使わない理由はない」と思ってしまう。
それこそ内包forを使うまでもないから使わない、みたいな話と同じように感じてしまう。
車輪の再発明はどうしても必要とされない限りは基本的に避けた方がいい行為、ということにも合意はなされない、のかな。
jupyterで適当なコード書くときだってjson numpy pandasあたりは大体始めに必要だとわかってimportしとくわ。
自分でフォーマットする合理性が理解できない。
「jsonモジュールを使うまでもない」というが、「jsonモジュールを敢えて使わない理由はない」と思ってしまう。
それこそ内包forを使うまでもないから使わない、みたいな話と同じように感じてしまう。
車輪の再発明はどうしても必要とされない限りは基本的に避けた方がいい行為、ということにも合意はなされない、のかな。
480デフォルトの名無しさん
2020/11/20(金) 20:59:04.30 >>477
つまりパーサーを通したものこそ真のJSONである、と・・
しかし、そのパーサーの中身は・・?
これやってみては
if json.dumps({"status":200}) == '{"status": 200}':
_print(True)
つまりパーサーを通したものこそ真のJSONである、と・・
しかし、そのパーサーの中身は・・?
これやってみては
if json.dumps({"status":200}) == '{"status": 200}':
_print(True)
481デフォルトの名無しさん
2020/11/20(金) 21:00:33.44ID:Y24NtUEO482デフォルトの名無しさん
2020/11/20(金) 21:01:42.82ID:azkfkwLr483デフォルトの名無しさん
2020/11/20(金) 21:08:06.35ID:Y24NtUEO >>480
筋悪だな
json.dumps(json.loads('{"status": 200}')) == json.dumps({"status":200})
ぐらいにしないとFalseになる可能性は十分にある、今実験してTrueなったから未来永劫Trueだろう、というのは考えが甘いよ
それがTrueになるのはどのPythonの実装でなら担保されるのかな?
要は、いちいちJSONの仕様を100%確かめて、100%準拠した手書きJSONを書くというのは割りに合わないということ。
import jsonとかjson.dumpsと書くたったの10秒ぐらいの余計な時間で、
もし間違ったJSONを出力してパーサーの方でパースできない原因を究明することになったときに必要な何十分がなくなるんだから、
余計な10秒をかけない理由がない
変に手抜きすると結局その手抜きが原因で100倍ぐらい余計に時間がかかったりするのがプログラミングの常だもの
筋悪だな
json.dumps(json.loads('{"status": 200}')) == json.dumps({"status":200})
ぐらいにしないとFalseになる可能性は十分にある、今実験してTrueなったから未来永劫Trueだろう、というのは考えが甘いよ
それがTrueになるのはどのPythonの実装でなら担保されるのかな?
要は、いちいちJSONの仕様を100%確かめて、100%準拠した手書きJSONを書くというのは割りに合わないということ。
import jsonとかjson.dumpsと書くたったの10秒ぐらいの余計な時間で、
もし間違ったJSONを出力してパーサーの方でパースできない原因を究明することになったときに必要な何十分がなくなるんだから、
余計な10秒をかけない理由がない
変に手抜きすると結局その手抜きが原因で100倍ぐらい余計に時間がかかったりするのがプログラミングの常だもの
484デフォルトの名無しさん
2020/11/20(金) 21:09:07.64ID:l5Hw5z7m485デフォルトの名無しさん
2020/11/20(金) 21:14:07.28ID:Y24NtUEO >>484
少ない行数で書けることがカッコいい、わけではないが、このぐらいのmapは流石に読めたほうがいい
これを5行で書くほうが良いと言うのは、正直いって10年以上前にプログラミングを習ってそこから知識がアップデートされてない人種だと思ったほうが良い
勿論初心者なら、ちょっと読み解くのが難しいから自分には5行でしか書けない、5行のパターンじゃないと読むのが難しい、というのでも構わない
でも今どきJavascriptなんかでこんな書き方は当たり前なんだから、向上心があるなら慣れるべきだと思う
少ない行数で書けることがカッコいい、わけではないが、このぐらいのmapは流石に読めたほうがいい
これを5行で書くほうが良いと言うのは、正直いって10年以上前にプログラミングを習ってそこから知識がアップデートされてない人種だと思ったほうが良い
勿論初心者なら、ちょっと読み解くのが難しいから自分には5行でしか書けない、5行のパターンじゃないと読むのが難しい、というのでも構わない
でも今どきJavascriptなんかでこんな書き方は当たり前なんだから、向上心があるなら慣れるべきだと思う
486デフォルトの名無しさん
2020/11/20(金) 21:23:59.20ID:aJFtJ7NQ >>483
ただの書き方の解釈、開発環境での用途の話であって
Trueが担保されるかどうかは別の話
余計な10秒をかけたくないときに使えば良いだけ
ただの文字出力用途で100倍余計に時間がかかってしまう具体例を教えてほしい
ただの書き方の解釈、開発環境での用途の話であって
Trueが担保されるかどうかは別の話
余計な10秒をかけたくないときに使えば良いだけ
ただの文字出力用途で100倍余計に時間がかかってしまう具体例を教えてほしい
487デフォルトの名無しさん
2020/11/20(金) 21:39:21.22ID:Y24NtUEO >>486
え、「ちゃんとパース可能なJSON」を書き出したいんじゃなくて、「ただの文字出力」をしたいって話だったの?
ただ単純に「ちゃんとパース可能なJSON」を書き出すのが目的だとしたら、
1. JSONの規格を100%理解しているわけではないプログラマーがいい加減に書き出した文字列(テスト回数10回ぐらい)
2. Pythonの標準ライブラリとして用意されているjsonモジュールを使ってオブジェクトをJSON文字列に書き出した文字列(テスト回数100万回ぐらい)
のどっちが良いか、で、1が良いなんてことあるの?
1が良い場合もないとは言えないと思うけど、何かしら条件が必要だと思わない?
「いい加減に書き出した」せいで1時間デバッグに余計にかかったんだとしたら360倍時間かかってるわけで
そもそも{}がうまく出ないとか5chに質問してる時点で相当解決に時間かかってるのでは…?
え、「ちゃんとパース可能なJSON」を書き出したいんじゃなくて、「ただの文字出力」をしたいって話だったの?
ただ単純に「ちゃんとパース可能なJSON」を書き出すのが目的だとしたら、
1. JSONの規格を100%理解しているわけではないプログラマーがいい加減に書き出した文字列(テスト回数10回ぐらい)
2. Pythonの標準ライブラリとして用意されているjsonモジュールを使ってオブジェクトをJSON文字列に書き出した文字列(テスト回数100万回ぐらい)
のどっちが良いか、で、1が良いなんてことあるの?
1が良い場合もないとは言えないと思うけど、何かしら条件が必要だと思わない?
「いい加減に書き出した」せいで1時間デバッグに余計にかかったんだとしたら360倍時間かかってるわけで
そもそも{}がうまく出ないとか5chに質問してる時点で相当解決に時間かかってるのでは…?
488デフォルトの名無しさん
2020/11/20(金) 21:56:03.77ID:AGMq159w pythonでmap, filterあたり使う理由ってほぼないだろ
内包表記に比べて遅いしgeneratorで返ってくるし
内包表記に比べて遅いしgeneratorで返ってくるし
489デフォルトの名無しさん
2020/11/20(金) 22:04:18.19ID:V+7Wns2i490デフォルトの名無しさん
2020/11/20(金) 22:08:29.63ID:Y24NtUEO >>488
内包表記に比べて遅い、は最近のPythonだとFalseだよ
内包表記に比べて短く書けるわけではない、というのは場合によりTrue
map(lambda x: func(x, 2), arr)と書くよりは
[func(x, 2) for x in arr]と書くほうが短いが、
map(str, arr)とかだったら、
[str(x) for x in arr]より短いから意味がないということもないと思う
list付けてもこの場合はmapの方が短いしね
と言いつつ、関数の呼び出しの形の差でmapを使うか内包表記を使うかいちいち考えるのはめんどくさいので常に内包表記使ってるけど...
内包表記に比べて遅い、は最近のPythonだとFalseだよ
内包表記に比べて短く書けるわけではない、というのは場合によりTrue
map(lambda x: func(x, 2), arr)と書くよりは
[func(x, 2) for x in arr]と書くほうが短いが、
map(str, arr)とかだったら、
[str(x) for x in arr]より短いから意味がないということもないと思う
list付けてもこの場合はmapの方が短いしね
と言いつつ、関数の呼び出しの形の差でmapを使うか内包表記を使うかいちいち考えるのはめんどくさいので常に内包表記使ってるけど...
491デフォルトの名無しさん
2020/11/20(金) 22:10:42.73ID:aJFtJ7NQ >>487
繰り返しになるけど、文字出力と同等の用途なだけ
個人的にフロントで「ちゃんとパース可能なJSON」を解釈できればいい、その程度の用途
あとはfomatの{回避にふと疑問を持ち質問を投げた、それだけこと
というか他でjson.dumpsは普通に使ってるので
こっち({回避の疑問)の方が主ではあります
繰り返しになりますが、何がなんでもformatを使って自己パーサーを作る、なんていう質問意図ではないです
個人用途で、キーや値の変更による成型を考える場合の変数代入や関数化する過程で発生する
json.dumps使用以外の過程を省きつつ
フロントで解釈できる程度の結果を得たい(得た)というだけの話
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
繰り返しになるけど、文字出力と同等の用途なだけ
個人的にフロントで「ちゃんとパース可能なJSON」を解釈できればいい、その程度の用途
あとはfomatの{回避にふと疑問を持ち質問を投げた、それだけこと
というか他でjson.dumpsは普通に使ってるので
こっち({回避の疑問)の方が主ではあります
繰り返しになりますが、何がなんでもformatを使って自己パーサーを作る、なんていう質問意図ではないです
個人用途で、キーや値の変更による成型を考える場合の変数代入や関数化する過程で発生する
json.dumps使用以外の過程を省きつつ
フロントで解釈できる程度の結果を得たい(得た)というだけの話
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
492デフォルトの名無しさん
2020/11/20(金) 22:29:11.10ID:27JFXKUI493デフォルトの名無しさん
2020/11/20(金) 22:36:29.18ID:wMzkLTJS494デフォルトの名無しさん
2020/11/20(金) 22:40:22.91ID:Y24NtUEO >>491
「フロントで「ちゃんとパース可能なJSON」を解釈できればいい」のならjson.dumps(obj) 一択
1行でコピペできないという問題も__import__('json').dumps(obj)という書き方で解決された
なぜそこまで自分のコードが信頼できるのか疑問
jsonモジュール(別にjsonモジュールに限らず、他の言語も含む世の中にある名の知れたライブラリ)を書いたプログラマーのほうが
色んな人にソースコードの動作を検証してもらってるし、コード自体も査読してもらってるし、長い時間をかけてそのモジュールを書いているし、
そもそもオープンソースとして公開する時点で優秀なプログラマーの可能性が高い
あなたの言う「スマートなやり方」というのは、「言語/言語のエコシステムの補助を使わずになんとかする方法」なのかな?
「適当な文字出力」と「パース可能なJSONの出力」はハードルが違うからね。
あと、この場合あなたが書きたいのは「パーサ」じゃなくて「シリアライザ」とか「フォーマッタ」と呼ばれる
ぶっちゃけ何度もimportしても構わないからimportは必ずプログラムの頭に書かなくてもいいとか知らなかったことを認めるのが癪で
引っ込みがつかなくなってるのではないかな?
超初心者用のスレなんで、知識が怪しいんじゃないか、というところにツッコミを入れるのもアレだけど、パーサの誤用とか含めて
プライドが高い割には知識が怪しいように思っちゃうなぁ。
「フロントで「ちゃんとパース可能なJSON」を解釈できればいい」のならjson.dumps(obj) 一択
1行でコピペできないという問題も__import__('json').dumps(obj)という書き方で解決された
なぜそこまで自分のコードが信頼できるのか疑問
jsonモジュール(別にjsonモジュールに限らず、他の言語も含む世の中にある名の知れたライブラリ)を書いたプログラマーのほうが
色んな人にソースコードの動作を検証してもらってるし、コード自体も査読してもらってるし、長い時間をかけてそのモジュールを書いているし、
そもそもオープンソースとして公開する時点で優秀なプログラマーの可能性が高い
あなたの言う「スマートなやり方」というのは、「言語/言語のエコシステムの補助を使わずになんとかする方法」なのかな?
「適当な文字出力」と「パース可能なJSONの出力」はハードルが違うからね。
あと、この場合あなたが書きたいのは「パーサ」じゃなくて「シリアライザ」とか「フォーマッタ」と呼ばれる
ぶっちゃけ何度もimportしても構わないからimportは必ずプログラムの頭に書かなくてもいいとか知らなかったことを認めるのが癪で
引っ込みがつかなくなってるのではないかな?
超初心者用のスレなんで、知識が怪しいんじゃないか、というところにツッコミを入れるのもアレだけど、パーサの誤用とか含めて
プライドが高い割には知識が怪しいように思っちゃうなぁ。
495デフォルトの名無しさん
2020/11/20(金) 22:40:35.67ID:aJFtJ7NQ496デフォルトの名無しさん
2020/11/20(金) 22:43:05.19ID:abuyzRZn >>481
個人のポリシーでしかないから押し付けるつもりはないが
内包表記も関数型言語からの取入れであり可読性の悪いコードになる
何せコードを右から読まなくてはいけないからね
よって自分は先のmapとこの内包表記は極力使わないようにしてる
forとifとappendでリストにまとめるスタイルが一番しっくりくる
個人のポリシーでしかないから押し付けるつもりはないが
内包表記も関数型言語からの取入れであり可読性の悪いコードになる
何せコードを右から読まなくてはいけないからね
よって自分は先のmapとこの内包表記は極力使わないようにしてる
forとifとappendでリストにまとめるスタイルが一番しっくりくる
497デフォルトの名無しさん
2020/11/20(金) 22:43:14.36ID:8FBZ4Sqf498デフォルトの名無しさん
2020/11/20(金) 22:48:59.72ID:aJFtJ7NQ >>494
>importは必ずプログラムの頭に書かなくてもいい
importの場所は主題ではないですよ
そのobjはどこでどうやって成型した・するのでしょうか
>信頼できるのか
繰り返しになりますけど、ただのJSON文字列同等の用途で使っている
という理解だからです
繰り返しになりますが、そうではない、と思うなら普通にjsonモジュールを使っています
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
>importは必ずプログラムの頭に書かなくてもいい
importの場所は主題ではないですよ
そのobjはどこでどうやって成型した・するのでしょうか
>信頼できるのか
繰り返しになりますけど、ただのJSON文字列同等の用途で使っている
という理解だからです
繰り返しになりますが、そうではない、と思うなら普通にjsonモジュールを使っています
個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
499デフォルトの名無しさん
2020/11/20(金) 22:50:34.06ID:Y24NtUEO >>496
どこまで複雑な内包表記を認めるかというのは、仰るとおりポリシー次第なところはあるね。
3重内包表記ぐらいまでは書くことあるけど、書くときはノリノリで書いてシンプルに纏まったぜ、やった、って思っても、
後で2重目のループの処理を修正したいときに地獄を見ることがあったりするのは事実。
内包表記はその存在自体がややこしいので一切認めません、というのもポリシーとしては普通にありだと思う。
関数型言語からの取り入れという事実を後押しする形になるのだが、
数式を読み慣れてると、内包表記やmapは数式に近い形なので、逆に可読性は悪くない、と思うケースも多いのだよなぁ
リストの中身を2乗して全部足すみたいな場合とかね。forループで手続き的にやる方が見通しが悪くなると個人的に思う。
どこまで複雑な内包表記を認めるかというのは、仰るとおりポリシー次第なところはあるね。
3重内包表記ぐらいまでは書くことあるけど、書くときはノリノリで書いてシンプルに纏まったぜ、やった、って思っても、
後で2重目のループの処理を修正したいときに地獄を見ることがあったりするのは事実。
内包表記はその存在自体がややこしいので一切認めません、というのもポリシーとしては普通にありだと思う。
関数型言語からの取り入れという事実を後押しする形になるのだが、
数式を読み慣れてると、内包表記やmapは数式に近い形なので、逆に可読性は悪くない、と思うケースも多いのだよなぁ
リストの中身を2乗して全部足すみたいな場合とかね。forループで手続き的にやる方が見通しが悪くなると個人的に思う。
500デフォルトの名無しさん
2020/11/20(金) 22:58:01.95ID:Y24NtUEO >>498
status = 200
error = None
とかいう値が入ってるとして
__import__('json').dumps({'status': status, 'error': error})
で終わりなんだけどな
result_obj = {'status': status, 'error': error}
__import__('json').dumps(result_obj)でもいいし
もちろん
__import__('json').dumps({'status': 200, 'error': None})
でもいい
JSONを書き出すのに、「文字列」なんて概念を持ち出す必要がないのよ
dictがそのままjsonモジュールで妥当なJSONになって各言語のパーサーでそのまま解釈できると考えておしまい
だから、いちいち妥当でない可能性のある「文字列」の状態を考えたくない
status = 200
error = None
とかいう値が入ってるとして
__import__('json').dumps({'status': status, 'error': error})
で終わりなんだけどな
result_obj = {'status': status, 'error': error}
__import__('json').dumps(result_obj)でもいいし
もちろん
__import__('json').dumps({'status': 200, 'error': None})
でもいい
JSONを書き出すのに、「文字列」なんて概念を持ち出す必要がないのよ
dictがそのままjsonモジュールで妥当なJSONになって各言語のパーサーでそのまま解釈できると考えておしまい
だから、いちいち妥当でない可能性のある「文字列」の状態を考えたくない
501デフォルトの名無しさん
2020/11/20(金) 22:58:07.55ID:GCIXM+fw502デフォルトの名無しさん
2020/11/20(金) 22:59:54.94ID:HBV8TmEn 一連のやりとり見てこれを思い出した
ほんとなんで自信満々なんだろう?
「staticおじさん」はなぜ自信満々なのか
https://xtech.nikkei.com/it/atcl/watcher/14/334361/122100450/
ほんとなんで自信満々なんだろう?
「staticおじさん」はなぜ自信満々なのか
https://xtech.nikkei.com/it/atcl/watcher/14/334361/122100450/
503デフォルトの名無しさん
2020/11/20(金) 23:02:30.97ID:aJFtJ7NQ504デフォルトの名無しさん
2020/11/20(金) 23:07:40.26ID:Y24NtUEO >>503
え、マジでわからんの?
statusが500だったりerrorになんか入っているときも書き方同じじゃん?
じゃあさ、formatを使う場合と__import__('json').dumpsを使う場合でコードを並べて、
formatの方がここが優れていると教えてくれよ。
逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、formatだと余計なエスケープ処理が入ると思うけどなぁ。
え、マジでわからんの?
statusが500だったりerrorになんか入っているときも書き方同じじゃん?
じゃあさ、formatを使う場合と__import__('json').dumpsを使う場合でコードを並べて、
formatの方がここが優れていると教えてくれよ。
逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、formatだと余計なエスケープ処理が入ると思うけどなぁ。
505デフォルトの名無しさん
2020/11/20(金) 23:10:29.05ID:P/qrHO+P 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル | Udemy
https://www.udemy.com/course/python-beginner/
https://www.udemy.com/course/python-beginner/
506デフォルトの名無しさん
2020/11/20(金) 23:12:44.36ID:998hZ133507デフォルトの名無しさん
2020/11/20(金) 23:17:41.85ID:wMzkLTJS >>495
> その程度の読解力やレッテル貼りするような人格だと苦労しそう
レッテル貼り?
質問の内容から判断してるんだけど?
読解力とか意味わからんしw
> お察しします
人の事を心配するレベルじゃないことを自覚したほうがいいと思うぞ…
> その程度の読解力やレッテル貼りするような人格だと苦労しそう
レッテル貼り?
質問の内容から判断してるんだけど?
読解力とか意味わからんしw
> お察しします
人の事を心配するレベルじゃないことを自覚したほうがいいと思うぞ…
508デフォルトの名無しさん
2020/11/20(金) 23:20:59.09ID:Y24NtUEO >>506
C#のLINQみたいにmapとかmaxとかをリストやジェネレータのメソッドとして追加できたらその書き方も出来るのだろうね。
実際、pandasやnumpyでは当該ライブラリで用意しているクラスではそのような書き方ができるような配列ライクなクラスを用意している。
Python言語が生まれた時期が微妙に古いというのが不自然な文法に影響しているかもね。
習いたての頃は、なんでarr.len()じゃなくてlen(arr)なんだ、って思ったもの。
C#のLINQみたいにmapとかmaxとかをリストやジェネレータのメソッドとして追加できたらその書き方も出来るのだろうね。
実際、pandasやnumpyでは当該ライブラリで用意しているクラスではそのような書き方ができるような配列ライクなクラスを用意している。
Python言語が生まれた時期が微妙に古いというのが不自然な文法に影響しているかもね。
習いたての頃は、なんでarr.len()じゃなくてlen(arr)なんだ、って思ったもの。
509デフォルトの名無しさん
2020/11/20(金) 23:26:46.17ID:aJFtJ7NQ >>504
もう上の方で書いてます
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
result_obj = {'status': 200, 'error': None}
__import__('json').dumps(result_obj)
__import__('json').dumps({'status': 200, 'error': None})
>逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、
入らない用途なので自分の環境下では問題ありません
もう上の方で書いてます
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
result_obj = {'status': 200, 'error': None}
__import__('json').dumps(result_obj)
__import__('json').dumps({'status': 200, 'error': None})
>逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、
入らない用途なので自分の環境下では問題ありません
510デフォルトの名無しさん
2020/11/20(金) 23:34:39.47ID:uMSrjpcB511デフォルトの名無しさん
2020/11/20(金) 23:37:51.38ID:Y24NtUEO >>509
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
と
__import__('json').dumps({'status': 200, 'error': None})
を比較して、前者のほうがスマートだと感じるなら、
他の人にも散々指摘されてるが、あなたはおそらく殆どの人が同意できない感覚の持ち主だろう
ゴーイングマイウェイで頑張ってくれ、ぶっちゃけ一緒に仕事はしたくないが
会社の経理のおばちゃんが、計算ミスばっかりするからどうしてかと思ったら、なんと算盤使って紙に向かって計算してて、
「頼むからExcel覚えてExcelでやってくれ」ってお願いしてるんだけど、「私は算盤が得意だからいいの!」って言われてる感じ
res = '{{"status":{},"{}":"{}"}}'
res.format(200,"error","null")
と
__import__('json').dumps({'status': 200, 'error': None})
を比較して、前者のほうがスマートだと感じるなら、
他の人にも散々指摘されてるが、あなたはおそらく殆どの人が同意できない感覚の持ち主だろう
ゴーイングマイウェイで頑張ってくれ、ぶっちゃけ一緒に仕事はしたくないが
会社の経理のおばちゃんが、計算ミスばっかりするからどうしてかと思ったら、なんと算盤使って紙に向かって計算してて、
「頼むからExcel覚えてExcelでやってくれ」ってお願いしてるんだけど、「私は算盤が得意だからいいの!」って言われてる感じ
512デフォルトの名無しさん
2020/11/20(金) 23:42:08.20ID:aJFtJ7NQ >>511
例えばstatusコードを複数吐くとき
どうなりますか
res = '{{"status":{},"error":"{}"}}'
res.format(201,"null")
res.format(202,"null")
res.format(203,"null")
res.format(204,"null")
res.format(205,"null")
__import__('json').dumps({'status': 201, 'error': None})
__import__('json').dumps({'status': 202, 'error': None})
__import__('json').dumps({'status': 203, 'error': None})
__import__('json').dumps({'status': 204, 'error': None})
__import__('json').dumps({'status': 205, 'error': None})
例えばstatusコードを複数吐くとき
どうなりますか
res = '{{"status":{},"error":"{}"}}'
res.format(201,"null")
res.format(202,"null")
res.format(203,"null")
res.format(204,"null")
res.format(205,"null")
__import__('json').dumps({'status': 201, 'error': None})
__import__('json').dumps({'status': 202, 'error': None})
__import__('json').dumps({'status': 203, 'error': None})
__import__('json').dumps({'status': 204, 'error': None})
__import__('json').dumps({'status': 205, 'error': None})
513デフォルトの名無しさん
2020/11/20(金) 23:48:08.89ID:Y24NtUEO >>512
複数回出すなら、
import json
json.dumps({'status': 201, 'error': None})
json.dumps({'status': 202, 'error': None})
とするだろうけど
本当に多いなら
res = lambda s, e: json.dumps({'status': s, 'error': e})
res(201, None)
res(202, None)
短く書くというのが目標ならlambdaでもまだ意図は明確だしformatより短いよ。
複数回出すなら、
import json
json.dumps({'status': 201, 'error': None})
json.dumps({'status': 202, 'error': None})
とするだろうけど
本当に多いなら
res = lambda s, e: json.dumps({'status': s, 'error': e})
res(201, None)
res(202, None)
短く書くというのが目標ならlambdaでもまだ意図は明確だしformatより短いよ。
514デフォルトの名無しさん
2020/11/20(金) 23:59:39.49ID:aJFtJ7NQ515デフォルトの名無しさん
2020/11/21(土) 00:01:48.28ID:TffSxZDq >>514
ここまで示されててわからんの?煽るだけじゃなくて勉強しようよ。
res = lambda s, k, v: json.dumps({'status': s, k: v})
res(500, 'error', 'hoge')
ここまで示されててわからんの?煽るだけじゃなくて勉強しようよ。
res = lambda s, k, v: json.dumps({'status': s, k: v})
res(500, 'error', 'hoge')
516デフォルトの名無しさん
2020/11/21(土) 00:11:54.22ID:RHs1PlgB >>515
ありがとうございます
キー名はそのまま代入できたのですね!
自分が書いたjson.dumpsを使った方ではlambda式では長くなってしまい
結局formatでいいか、みたいな経緯がありました
あとは辞書の結合やショートカット機能使えない環境化をでも使ってみたいのでそのあたりを工夫してみようと思います!
ありがとうございます
キー名はそのまま代入できたのですね!
自分が書いたjson.dumpsを使った方ではlambda式では長くなってしまい
結局formatでいいか、みたいな経緯がありました
あとは辞書の結合やショートカット機能使えない環境化をでも使ってみたいのでそのあたりを工夫してみようと思います!
517デフォルトの名無しさん
2020/11/21(土) 00:15:10.92ID:TffSxZDq えぇぇ、
いやまぁ納得してもらえたならいいけど、、、
良かったね
いやまぁ納得してもらえたならいいけど、、、
良かったね
518デフォルトの名無しさん
2020/11/21(土) 01:07:30.25ID:v5QqbOTJ そうか
lispのコードをさんざん見てきた私は
内包表記もmapも普通なんだけどな
分かりにくい人がいるというのを認識した
lispのコードをさんざん見てきた私は
内包表記もmapも普通なんだけどな
分かりにくい人がいるというのを認識した
519デフォルトの名無しさん
2020/11/21(土) 01:09:15.76ID:5FVo37Wp 普通にhttpレスポンスを生成する関数の中でモデルをjson化してれば
json.dumpsのところだけをlambdaにしたいなんてことにはならないと思うんだけどなぁ
json.dumpsのところだけをlambdaにしたいなんてことにはならないと思うんだけどなぁ
520デフォルトの名無しさん
2020/11/21(土) 06:50:26.86ID:XFVQeQAy521デフォルトの名無しさん
2020/11/21(土) 07:22:59.30ID:Va5Vhbzu こんにちは。
pandasのdataframeのデータから、別途用意されたカラム名リストの
カラムだけ取り出す方法をご教授願います。
例:
df
はa〜zの列がある。
list = ('d', 'g', 'h')
にあるカラム名の列だけ取り出したい。
(listの中身はその都度変わって数も多い。)
よろしくお願いします。
pandasのdataframeのデータから、別途用意されたカラム名リストの
カラムだけ取り出す方法をご教授願います。
例:
df
はa〜zの列がある。
list = ('d', 'g', 'h')
にあるカラム名の列だけ取り出したい。
(listの中身はその都度変わって数も多い。)
よろしくお願いします。
522521
2020/11/21(土) 07:40:18.66ID:Va5Vhbzu リストは()じゃなくて[]でした。
523デフォルトの名無しさん
2020/11/21(土) 07:54:32.25ID:v5QqbOTJ524521
2020/11/21(土) 08:22:43.36ID:Va5Vhbzu 自己解決しました。
data = df[df.columns.intersection(list)]
data = df[df.columns.intersection(list)]
525デフォルトの名無しさん
2020/11/21(土) 10:37:59.41ID:TffSxZDq >>524
細かいことだが、
listという名前は上書きしないほうが良い(list関数が使えなくなる)
のと、
listの要素がcolumnsに必ず含まれているのが保証されるなら、
data = df[list]だけでいけるよ
細かいことだが、
listという名前は上書きしないほうが良い(list関数が使えなくなる)
のと、
listの要素がcolumnsに必ず含まれているのが保証されるなら、
data = df[list]だけでいけるよ
526440
2020/11/21(土) 12:18:46.35ID:jQLdetle VSCode で、Microsoft の拡張機能を入れてない香具師とか、
git のプルリクを知らない香具師とか、
JSON ではなく文字列を結合する香具師とか、問題外
文字列の結合を認めたら、SQL・HTML タグを文字列で書いたりして、SQL インジェクションされる
新技術を学べない、老害に多い
日本人は植物油を多く使うから、脳にアミロイドが貯まって、新しく記憶できない。
全員が痴呆症w
動物油なら、こういう事はない
プルリクもKENTA が言ってるから、マコなりの学校にも、グループ学習がある。
グループ学習やっていない香具師は、採用されませんって。
でも、高い授業料を払って、グループ学習する意味はないと反論する人もいる
Ruby on Rails なんて、Rails Way・レールに乗る。
我流・レールに乗っていない方法は、すべて却下される
YouTube で有名なRubyist、伊藤淳一の動画でも、コードレビューしてる
git のプルリクを知らない香具師とか、
JSON ではなく文字列を結合する香具師とか、問題外
文字列の結合を認めたら、SQL・HTML タグを文字列で書いたりして、SQL インジェクションされる
新技術を学べない、老害に多い
日本人は植物油を多く使うから、脳にアミロイドが貯まって、新しく記憶できない。
全員が痴呆症w
動物油なら、こういう事はない
プルリクもKENTA が言ってるから、マコなりの学校にも、グループ学習がある。
グループ学習やっていない香具師は、採用されませんって。
でも、高い授業料を払って、グループ学習する意味はないと反論する人もいる
Ruby on Rails なんて、Rails Way・レールに乗る。
我流・レールに乗っていない方法は、すべて却下される
YouTube で有名なRubyist、伊藤淳一の動画でも、コードレビューしてる
527デフォルトの名無しさん
2020/11/21(土) 12:47:45.12ID:TffSxZDq 今どき香具師なんて言葉使ってるのが老害
528デフォルトの名無しさん
2020/11/21(土) 14:41:23.41ID:sC5Fd4g2 少し上の過去レスを追うこともできない古い人間 >439
529デフォルトの名無しさん
2020/11/21(土) 16:32:50.83ID:RuZftilT macOS での python の質問もここで良いのですか?それとも他に板やスレがありますか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 地震 [Hitzeschleier★]
- 恋する山上はせつなくて安倍ちゃんを想うとすぐパァンしちゃうの [377482965]
- おまえらはスマホ何年でダメにしてる?
- (´;ω;`)起きちゃった!
- 仮に放射線混ざってたとしてもテムとアリエク使うわ
- ドーは
- 親父が同級生(クラスの真面目委員長JK)の母親と結婚した。ウソじゃない。事実なんだ
