!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/
●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/
〇前スレ〇 Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part66
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f02-4fXk)
2021/11/15(月) 18:59:43.37ID:f2uNQEAt050デフォルトの名無しさん (ワッチョイ ea02-UYQU)
2022/01/30(日) 16:35:54.41ID:b3oK/Xd4051デフォルトの名無しさん (ワッチョイ 112c-gRU3)
2022/01/30(日) 16:44:44.56ID:JEnagIMx0 座学っていうか、教科書暗記系の勉強って身につかねえで
普段からなにか自分のコード書いてる? 便利ツール作ったとか、仕事でもいいけど
そういう経験値あるやつは教科書で範囲おさえるだけで受かるでアレ
漢検英検みたいなスッカラカンの内容だし
普段からなにか自分のコード書いてる? 便利ツール作ったとか、仕事でもいいけど
そういう経験値あるやつは教科書で範囲おさえるだけで受かるでアレ
漢検英検みたいなスッカラカンの内容だし
52デフォルトの名無しさん (アウアウウー Sa21-JOti)
2022/01/30(日) 16:49:27.81ID:dBS0qGe1a53デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/01/30(日) 16:52:14.96ID:s6N3Eq50a 資格屋を養ってあげるのえらい!
54デフォルトの名無しさん (アウアウウー Sa21-JOti)
2022/01/30(日) 16:54:45.26ID:dBS0qGe1a >>53
ホントそうですよねー…
お上から言われてやらされてる感覚で勉強してるのでそれも良くないんだろうなと
3回も落ちてプログラミングはホント向いてないと感じましたが、負けたままじゃ嫌なのでがんばります!
ホントそうですよねー…
お上から言われてやらされてる感覚で勉強してるのでそれも良くないんだろうなと
3回も落ちてプログラミングはホント向いてないと感じましたが、負けたままじゃ嫌なのでがんばります!
55デフォルトの名無しさん (アウアウウー Sa21-JOti)
2022/01/30(日) 16:58:24.22ID:dBS0qGe1a56デフォルトの名無しさん (ワッチョイ 112c-21ac)
2022/01/30(日) 17:07:11.65ID:JEnagIMx0 まあ会社的に取らざるを得ないんなら仕方がないな
エラー処理とクラスが苦手なら
不特定多数が使う想定でGUIのツール書いたりしたらいいじゃん
色々なツールを書いて、実力ついてきたら書き直していくと良いべ
手続き記憶ってめちゃ強いで
テストの文言がどうとか関係なく「は?この場合はこれ以外ねえじゃん」てなるからよ
エラー処理とクラスが苦手なら
不特定多数が使う想定でGUIのツール書いたりしたらいいじゃん
色々なツールを書いて、実力ついてきたら書き直していくと良いべ
手続き記憶ってめちゃ強いで
テストの文言がどうとか関係なく「は?この場合はこれ以外ねえじゃん」てなるからよ
57デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/01/30(日) 17:20:43.43ID:TPMWv/Gz0 手続き記憶にはならんけどな
あれは大脳じゃなくて小脳が記憶しとる
あれは大脳じゃなくて小脳が記憶しとる
58デフォルトの名無しさん (ワッチョイ a563-Xc5L)
2022/01/30(日) 17:25:43.29ID:abA0NDao0 レスは延髄が担当してます
59デフォルトの名無しさん (ワッチョイ c55f-39Dx)
2022/01/30(日) 17:38:30.77ID:+44ZrKAj0 頭で記憶するより腕が覚えてれば何もしなくても受かる。
60デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/01/30(日) 17:45:34.94ID:TPMWv/Gz0 未だにexceptを身体を覚えない
61デフォルトの名無しさん (ワッチョイ ea02-UYQU)
2022/01/30(日) 18:57:36.36ID:b3oK/Xd40 プログラミング始める前は世の中の意外なライブラリが個人用ツールが発祥だったりして驚いたけど、最近は自分も毎日何らかの効率化ツール書いてるから腑に落ちてきた
62デフォルトの名無しさん (ワッチョイ a536-T4N9)
2022/01/30(日) 21:13:57.26ID:EDpuAdiW063デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/01/30(日) 21:30:01.91ID:s6N3Eq50a だから文字列処理がしたいんだろ
64デフォルトの名無しさん (ワッチョイ 3933-dw97)
2022/01/30(日) 21:40:49.50ID:x+YpW7Pn0 >>62
ライブラリにあるjsonってjson以外にも使えるの?
ライブラリにあるjsonってjson以外にも使えるの?
65デフォルトの名無しさん (アウアウウー Sa21-mCLd)
2022/01/30(日) 21:52:14.30ID:+b1ooMw2a JSONのような
yamlなのかtomlなのか独自の何かなのか?
yamlなのかtomlなのか独自の何かなのか?
66デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/01/30(日) 21:59:21.89ID:TPMWv/Gz0 独自形式でしかもデシリアライズする手段を持たない何か
67デフォルトの名無しさん (ワッチョイ a536-T4N9)
2022/01/30(日) 22:06:11.28ID:EDpuAdiW0 >>63
値を変えたいっていってるけど、それが文字列かintがfloatかで処理方法が変わるって事。
値を変えたいっていってるけど、それが文字列かintがfloatかで処理方法が変わるって事。
68デフォルトの名無しさん (ワッチョイ ea02-UYQU)
2022/01/30(日) 22:26:16.20ID:b3oK/Xd40 どんな構造のデータなのかわからんけどパースできないのは欠陥じゃないか
69デフォルトの名無しさん (ブーイモ MM8e-+2bg)
2022/01/30(日) 23:09:43.81ID:Ps75IfQGM > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
70デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/01/30(日) 23:10:36.42ID:s6N3Eq50a だからre自体が問題なんでしょ
お前らほんと馬鹿だな
まあ再帰は正規表現の守備範囲じゃないから、外部でループなり再帰なり使うのが筋じゃろうね
お前らほんと馬鹿だな
まあ再帰は正規表現の守備範囲じゃないから、外部でループなり再帰なり使うのが筋じゃろうね
71デフォルトの名無しさん (ワッチョイ 8dfc-kUjT)
2022/01/30(日) 23:17:27.79ID:TvXHiKPx0 re.subで解析器つくるチャレンジ俺はすき
最適なモジュール・ライブラリ適用していくのも正しいとは思うが
最適なモジュール・ライブラリ適用していくのも正しいとは思うが
72デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/01/30(日) 23:46:56.10ID:s6N3Eq50a 牛の名前がついた道具使うよりも直接パーサ書いたほうが楽って感じの仕事しかないわ
73デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/01/30(日) 23:50:39.06ID:TPMWv/Gz0 パーサ or パーザ
74デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/01/31(月) 00:17:47.91ID:h5qWS5JPa 濁らないネイティブの方が多い印象
75デフォルトの名無しさん (ワッチョイ 3d63-bU36)
2022/01/31(月) 04:35:23.49ID:p09y8eC/07647 (ワッチョイ 797c-ZxP6)
2022/02/01(火) 08:29:06.07ID:MgBeWJgP0 >>47 なんですけど、皆さん確かにその通り、なんですけど、困った点として
1. JSONの変更チェックはソースコード同様テキスト差分でやっいてる
2. シリアライズ/デシリアイズすると元のデータとの変更の差分がよくわからない(多分
2. がクリアできればたぶんシリアライザで問題ないのですが、どうでしょうか。なにか
こういうツリー構造状のものの論理的差分をうまく表示できるものがあれば。
もしかして毎回同じシリアライザ/デシリアイザを使えばテキスト差分でも割とわかり
やすい可能性はありますかね?
1. JSONの変更チェックはソースコード同様テキスト差分でやっいてる
2. シリアライズ/デシリアイズすると元のデータとの変更の差分がよくわからない(多分
2. がクリアできればたぶんシリアライザで問題ないのですが、どうでしょうか。なにか
こういうツリー構造状のものの論理的差分をうまく表示できるものがあれば。
もしかして毎回同じシリアライザ/デシリアイザを使えばテキスト差分でも割とわかり
やすい可能性はありますかね?
77デフォルトの名無しさん (ブーイモ MM8e-bj7G)
2022/02/01(火) 08:37:49.30ID:KfVUVBlEM78デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/01(火) 08:46:55.62ID:cb/LIcKT0 新旧それぞれjson状態で比較するだけでいいのでは
内容同じだけど表現が変わって余計な差分が出るというなら、
もう一度同じ系でデータに戻してそのままjsonにすれば消える
内容同じだけど表現が変わって余計な差分が出るというなら、
もう一度同じ系でデータに戻してそのままjsonにすれば消える
79デフォルトの名無しさん (ワッチョイ 8dd8-kUjT)
2022/02/01(火) 08:47:52.82ID:Vdz9s5Wt0 JSON構造維持できててもホワイトスペースの違いがあると
テキスト差分になるから避けたいってことなら
コミット前にかならずjq他で正規化するとか?
更新もjqでできる範囲ならPython自体いらんし
テキスト差分になるから避けたいってことなら
コミット前にかならずjq他で正規化するとか?
更新もjqでできる範囲ならPython自体いらんし
80デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 09:09:07.24ID:snO12m+pa jsondiffみたいなのあるよね
まあ再帰的に歩きながら要素をsetとして比較するとか
まあ再帰的に歩きながら要素をsetとして比較するとか
81デフォルトの名無しさん (ワッチョイ 89c6-dw97)
2022/02/01(火) 10:01:24.43ID:VIAeEFNz0 読み違えてなければ
なんでテキスト差分にこだわってんのか分からん
なんでテキスト差分にこだわってんのか分からん
8247 (JP 0H2e-ZxP6)
2022/02/01(火) 10:04:13.76ID:at58GuQOH >>77 結構な数の旧のJSONがあり、それを特定のルールでアップデートして新にします。
で正しくアップデートされたかを検証するために新旧を比較します。
>>78 内容が違う場合に人間が理解しやすい形で見たいという。
>>79 スペースや改行もそうですが、例えば辞書の要素をどういう順序で書き出すかは
シリアライザ次第 or 手書きをした人次第ですよね... あ、jqで正規化できるのかな?
jqを知りませんでしたので見てみますです。
ただしいて言うと正規化というのも... 実際には例えば位置情報を含む要素があったり
して、その場合位置順で要素が並んでいると本当は嬉しい、とかもあったり。
>>80 なるほど、ググるといろいろヒットしますね。検討してみます。
で正しくアップデートされたかを検証するために新旧を比較します。
>>78 内容が違う場合に人間が理解しやすい形で見たいという。
>>79 スペースや改行もそうですが、例えば辞書の要素をどういう順序で書き出すかは
シリアライザ次第 or 手書きをした人次第ですよね... あ、jqで正規化できるのかな?
jqを知りませんでしたので見てみますです。
ただしいて言うと正規化というのも... 実際には例えば位置情報を含む要素があったり
して、その場合位置順で要素が並んでいると本当は嬉しい、とかもあったり。
>>80 なるほど、ググるといろいろヒットしますね。検討してみます。
8347 (ワッチョイ de43-ZxP6)
2022/02/01(火) 10:15:12.61ID:hvUdGcmR0 要は手書きは手書きの良さがあると言うか(意味不明
84デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 10:18:51.13ID:snO12m+pa 配列以外で順序に意味もたせたらあかんやろ
85デフォルトの名無しさん (ワッチョイ 6d36-T4N9)
2022/02/01(火) 10:21:13.84ID:BTrEast2086デフォルトの名無しさん (ブーイモ MMc9-mVNg)
2022/02/01(火) 10:39:12.47ID:jpDLaV3CM87デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 10:48:36.31ID:snO12m+pa >>86
いやそういう辞書があってもいいけど、jsonで期待しちゃだめでは?
いやそういう辞書があってもいいけど、jsonで期待しちゃだめでは?
88デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/02/01(火) 10:50:59.31ID:6/JwMCIKM >>84
差分を取りたいという話なのは理解してる?
差分を取りたいという話なのは理解してる?
89デフォルトの名無しさん (ワッチョイ 89c6-dw97)
2022/02/01(火) 10:59:29.24ID:VIAeEFNz0 ・テキスト差分を人が見やすいようにしたい
と
・旧から新へ書き換えたい&検証したい
は別々に対応したほうがいいと思う
と
・旧から新へ書き換えたい&検証したい
は別々に対応したほうがいいと思う
90デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 11:03:47.87ID:snO12m+pa >>88
だから80でsetで比較しろと言うとる
だから80でsetで比較しろと言うとる
91デフォルトの名無しさん (ワッチョイ 3933-tIr1)
2022/02/01(火) 11:05:33.91ID:R8oq8dq80 なんでjsonのままザブングル取ろうとしてるの
読み込んでから比較できるようにしたらだめなの
読み込んでから比較できるようにしたらだめなの
92デフォルトの名無しさん (ワッチョイ 3933-tIr1)
2022/02/01(火) 11:06:57.50ID:R8oq8dq80 ていうか、そのファイルはjsonのようなファイルなの?
それともjsonなの?
それともjsonなの?
93デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/01(火) 11:07:35.70ID:cb/LIcKT0 バールのようなファイル
94デフォルトの名無しさん (ブーイモ MMc9-mVNg)
2022/02/01(火) 11:09:46.48ID:jpDLaV3CM >>87
jsonは人可読であることも利点だから、読みやすく並べたかもしれない順序を維持するのも大事だと思うよ
jsonは人可読であることも利点だから、読みやすく並べたかもしれない順序を維持するのも大事だと思うよ
95デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 11:12:59.06ID:snO12m+pa >>94
じゃあ文字列比較のためにソートするのも禁止じゃねえか
じゃあ文字列比較のためにソートするのも禁止じゃねえか
96デフォルトの名無しさん (ワッチョイ 89c6-dw97)
2022/02/01(火) 11:19:24.60ID:VIAeEFNz0 47には固有のルールがあるようだしそれに沿ったソートを書けばいいだけ
97デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/02/01(火) 11:28:32.69ID:mtN06K+LM98デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 11:41:19.17ID:snO12m+pa99デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/02/01(火) 11:50:19.81ID:7JwpJFltM100デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 12:03:06.99ID:snO12m+pa101デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/02/01(火) 12:09:18.37ID:7JwpJFltM102デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 12:29:21.07ID:snO12m+pa 大丈夫か?
103デフォルトの名無しさん (ワッチョイ ad97-o6YQ)
2022/02/01(火) 13:11:25.40ID:g2E7LE8j0 >>98
set使ったら順序保証されないじゃん?
jsonの同一性をどう定義するかだけど、jsonオブジェクトが同一でいいなら自分なら二つ読んでdumpsして文字列比較だな。
わざわざ木構造を探索して確認はしないわー。車輪の再発明だもの。
set使ったら順序保証されないじゃん?
jsonの同一性をどう定義するかだけど、jsonオブジェクトが同一でいいなら自分なら二つ読んでdumpsして文字列比較だな。
わざわざ木構造を探索して確認はしないわー。車輪の再発明だもの。
104デフォルトの名無しさん (ワッチョイ a563-Xc5L)
2022/02/01(火) 13:14:14.12ID:HjKbLPGF0 つまらない意地の張り合いは止めて欲しい
105デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/02/01(火) 13:24:00.14ID:7JwpJFltM >>102
顔真っ赤なお前が大丈夫じゃないだろw
顔真っ赤なお前が大丈夫じゃないだろw
106デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/02/01(火) 13:25:06.37ID:7JwpJFltM107デフォルトの名無しさん (アウアウウー Sa21-COr/)
2022/02/01(火) 13:25:39.60ID:snO12m+pa108デフォルトの名無しさん (ワッチョイ 89c6-dw97)
2022/02/01(火) 14:23:16.43ID:VIAeEFNz0 質問あるあるだけど後だし要件多くてつまらん
109デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/01(火) 14:40:07.76ID:cb/LIcKT0 最初から直接いじるって言ってるけどな
110デフォルトの名無しさん (ワッチョイ 7961-bU36)
2022/02/01(火) 14:53:12.59ID:BDMLLBwS0 json.load(〜, object_pairs_hook = collections.OrderedDict)で読めばキー順維持できるし
json.dump(〜, indent=4, ensure_ascii=False)あたりで出力すれば人も読みやすいけど
縛りプレイしたいみたいだから違うんだろうね
json.dump(〜, indent=4, ensure_ascii=False)あたりで出力すれば人も読みやすいけど
縛りプレイしたいみたいだから違うんだろうね
111デフォルトの名無しさん (ワッチョイ 89c6-dw97)
2022/02/01(火) 14:58:51.99ID:VIAeEFNz0 質問者がほんとうに欲しかったものは全然違うんだろうなぁw
112デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/01(火) 14:59:28.13ID:cb/LIcKT0 あるべき姿ではないけど、差分で作ってるからなるべく変えずにやるしかない
というのは業務では往々にしてある
そっち方向に特化して、なるべく差分を少なく変更するツールを作ったりする
というのは業務では往々にしてある
そっち方向に特化して、なるべく差分を少なく変更するツールを作ったりする
113デフォルトの名無しさん (ワッチョイ a563-bU36)
2022/02/01(火) 17:16:00.77ID:Cj8PsmmI0 OrderedDictはいまは必要なくなったらしいが
古い環境のことを考えて一応入れておくかな
古い環境のことを考えて一応入れておくかな
114デフォルトの名無しさん (ワッチョイ 6d10-t7OX)
2022/02/01(火) 18:22:53.99ID:+p3toWRQ0 金曜日までまて!
115デフォルトの名無しさん (オッペケ Srbd-1iGg)
2022/02/01(火) 18:29:53.63ID:NciR+oItr Python3.7以降辞書は順番を保持する事が仕様で規定されたが、一般的に辞書はそう言ったものではないから明確に順番を保持する意図があるならOrderedDict使うべき
116デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/01(火) 18:37:17.14ID:cb/LIcKT0 セキュリティの為に意図的にランダムにしとるよ
117デフォルトの名無しさん (ワッチョイ 6d36-T4N9)
2022/02/01(火) 18:40:59.45ID:BTrEast20118デフォルトの名無しさん (ワッチョイ b501-dw97)
2022/02/01(火) 18:57:53.68ID:YIpBnXPz0 wslがあります
119デフォルトの名無しさん (ブーイモ MM3e-bj7G)
2022/02/01(火) 21:48:27.03ID:b8/MsqKZM 変更だからgit diffとかでしょ
CLIで確認するならgirattributeでjsonはフォーマッタ経由させとく
CLIで確認するならgirattributeでjsonはフォーマッタ経由させとく
120デフォルトの名無しさん (ワッチョイ ad97-o6YQ)
2022/02/02(水) 03:09:29.57ID:gdOUqCG30 >>106
毎日嫌というほど見とるがなw
毎日嫌というほど見とるがなw
12147 (ワッチョイ 4aac-ZxP6)
2022/02/02(水) 11:29:50.32ID:0scplIwD0 どうも>>47です。色々なアドバイスありがとうございます! レス一つ一つの引用は割愛
させていただきますが、アドバイスを元に試してみます。
あ、JSONのようなと書きましたがJSONです。
辞書の可読性というのは、例えばほぼ碁盤目状に並んだ住宅配置みたいのがあって、
{ "山田邸": {x=,y=, ...}, "鈴木邸": {x=,y=, ...}, ...} みたいのが配置の順序で(キーボード配列
で言ったら q,w,e,r,...., a,s,d,f, .... 等)並んでいる状態のことです。
元の可読性を維持するには〇〇邸でソートして欲しくなく、やるならyでソートして次にxで
ソートするみたいな... しかしふと、この場合はそもそも配列のほうがよかったのかも。
まあとにかく、キー順縛りでいけるのかな?
あと、差分を表示するのも標準的なdiff、差分付近の表示でなく、例えばLinux上ならmeldの
ようなものを使いたく... と思ったら json-diff には -f (full) というオプションが。
させていただきますが、アドバイスを元に試してみます。
あ、JSONのようなと書きましたがJSONです。
辞書の可読性というのは、例えばほぼ碁盤目状に並んだ住宅配置みたいのがあって、
{ "山田邸": {x=,y=, ...}, "鈴木邸": {x=,y=, ...}, ...} みたいのが配置の順序で(キーボード配列
で言ったら q,w,e,r,...., a,s,d,f, .... 等)並んでいる状態のことです。
元の可読性を維持するには〇〇邸でソートして欲しくなく、やるならyでソートして次にxで
ソートするみたいな... しかしふと、この場合はそもそも配列のほうがよかったのかも。
まあとにかく、キー順縛りでいけるのかな?
あと、差分を表示するのも標準的なdiff、差分付近の表示でなく、例えばLinux上ならmeldの
ようなものを使いたく... と思ったら json-diff には -f (full) というオプションが。
122デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/02(水) 12:12:55.55ID:R8Mm1Nfi0 winny開発して
123デフォルトの名無しさん (スフッ Sd0a-Q9xH)
2022/02/02(水) 12:22:30.14ID:8JcfLiOmd テキスト比較ならwinmerge
124デフォルトの名無しさん (ワッチョイ c55f-39Dx)
2022/02/02(水) 12:23:40.23ID:qgs+N5K10 それです
125デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/02(水) 12:35:09.17ID:R8Mm1Nfi0 araxis mergeがいいよ
126デフォルトの名無しさん (ブーイモ MM0a-bj7G)
2022/02/02(水) 12:37:34.48ID:750HFVx7M127デフォルトの名無しさん (ワッチョイ 8de0-kUjT)
2022/02/02(水) 12:53:10.62ID:PDm/NhWY0 JSONだっていってんだから元の構造からArrayにしないとダメ
その周辺だけいまは大丈夫だったとしても
なにか加わったら破綻する可能性抱えることになる
その周辺だけいまは大丈夫だったとしても
なにか加わったら破綻する可能性抱えることになる
128デフォルトの名無しさん (ワッチョイ 0a3b-8aEc)
2022/02/02(水) 13:08:50.57ID:R8Mm1Nfi0 jsonの可読性なんか気にせずに、整形して見る仕組みを作った方がいい
差分をjsonのテキスト比較でやりたいならば、
専用のシリアライザを作るか、標準のシリアライザに統一して、
手書きからシリアライザへのジャンプの1回だけ頑張って差分が無いことを示す
差分をjsonのテキスト比較でやりたいならば、
専用のシリアライザを作るか、標準のシリアライザに統一して、
手書きからシリアライザへのジャンプの1回だけ頑張って差分が無いことを示す
129デフォルトの名無しさん (ブーイモ MM0a-bj7G)
2022/02/02(水) 13:23:14.33ID:atXKuk6GM 設定ファイル的なものの書き換えツールを作ろうとしてるんでしょ?
そのツール上は整形して見れたとしてもツールを使って更新した結果が問題ないかどうかをテキストの差分比較したいケースがあるのは普通のこと
そのツール上は整形して見れたとしてもツールを使って更新した結果が問題ないかどうかをテキストの差分比較したいケースがあるのは普通のこと
130デフォルトの名無しさん (ワッチョイ 7933-tIr1)
2022/02/02(水) 15:05:32.48ID:ig8XBRXZ0 だから、jsonからPythonオブジェクトとして読み込んで好きなようにソートして、比較すりゃいいだろ
そうしないっていうならもうPython関係ないんだよ
頑なにjsonのまま比較しようとするなら、どっかよそで聞いて来いよ
そうしないっていうならもうPython関係ないんだよ
頑なにjsonのまま比較しようとするなら、どっかよそで聞いて来いよ
131デフォルトの名無しさん (ワッチョイ fa2d-Xc5L)
2022/02/02(水) 15:24:45.92ID:GpllQ/ot0 そんなキレんなよw
132デフォルトの名無しさん (ブーイモ MM3e-o6YQ)
2022/02/02(水) 17:07:28.13ID:xX3ktvVZM 読み込んで、ordereddictに入れるときにソートして、キー比較して値比較してってのが簡単かな、再シリアライズしなくていいなら
10行ぐらい書けばいけそう
10行ぐらい書けばいけそう
133デフォルトの名無しさん (ワッチョイ e6bb-t7vK)
2022/02/02(水) 17:34:38.06ID:FmeGoeQ70 差分確認ならこれ参考にしろ
https://qiita.com/set0gut1/items/be9247910eb7c155d592
https://qiita.com/set0gut1/items/be9247910eb7c155d592
134デフォルトの名無しさん (ワッチョイ 9f5c-zD41)
2022/02/07(月) 15:18:40.32ID:HhuH8Ieg0 a = [1, 2, 3, 4, 5, 6]
(a.remove(i) for i in (4, 6))
print(a) # [1, 2, 3, 4, 5, 6]
[a.remove(i) for i in (4, 6)]
print(a) # [1, 2, 3, 5]
なんでこうなるの?
(a.remove(i) for i in (4, 6))
print(a) # [1, 2, 3, 4, 5, 6]
[a.remove(i) for i in (4, 6)]
print(a) # [1, 2, 3, 5]
なんでこうなるの?
135デフォルトの名無しさん (ワッチョイ b7c6-zD41)
2022/02/07(月) 15:26:19.64ID:jzNjAoA60 (a.remove(i) for i in (4, 6))
は何を返す?それを理解してないだけ
は何を返す?それを理解してないだけ
136デフォルトの名無しさん (ワッチョイ 9f5c-zD41)
2022/02/07(月) 15:33:14.88ID:HhuH8Ieg0 >>135
ありがとうございました
ありがとうございました
137デフォルトの名無しさん (ワッチョイ 9f5c-zD41)
2022/02/07(月) 15:37:25.18ID:HhuH8Ieg0 もう一つお願いします
a = [1, 2, 3, 4, 5, 6]
for i in a: a.remove(i)
print(a) # [2, 4, 6]
aは[]になると思ったのですが‥]
a = [1, 2, 3, 4, 5, 6]
for i in a: a.remove(i)
print(a) # [2, 4, 6]
aは[]になると思ったのですが‥]
138デフォルトの名無しさん (ワッチョイ 9f5c-zD41)
2022/02/07(月) 15:43:57.98ID:HhuH8Ieg0139デフォルトの名無しさん (アウアウウー Sa9b-njw4)
2022/02/07(月) 16:00:04.42ID:91CWjkaMa まだ実行してねえんじゃ?
140デフォルトの名無しさん (アウアウウー Sa9b-njw4)
2022/02/07(月) 16:01:55.06ID:91CWjkaMa タプルじゃないもんね
141デフォルトの名無しさん (ワッチョイ 9f01-3rik)
2022/02/07(月) 16:02:55.00ID:8jdPUSw20142デフォルトの名無しさん (ワッチョイ b7c6-zD41)
2022/02/07(月) 16:04:05.95ID:jzNjAoA60 (a.remove(i) for i in (4, 6))
はジェネレータ式
https://docs.python.org/ja/3/reference/expressions.html#generator-expressions
ざっくり言うと関数を作ってるだけで中身のa.remove(i) for i in (4, 6)は実行されてない(おまけに作った式も変数に保存してない)
なので1つ目のprint(a)は何も変更されてないaを表示してるだけ
gen = (a.remove(i) for i in (4, 6))
b = list(gen)
print(b)
を実行してみよう
はジェネレータ式
https://docs.python.org/ja/3/reference/expressions.html#generator-expressions
ざっくり言うと関数を作ってるだけで中身のa.remove(i) for i in (4, 6)は実行されてない(おまけに作った式も変数に保存してない)
なので1つ目のprint(a)は何も変更されてないaを表示してるだけ
gen = (a.remove(i) for i in (4, 6))
b = list(gen)
print(b)
を実行してみよう
143デフォルトの名無しさん (ワッチョイ ff06-yw1q)
2022/02/07(月) 16:19:43.96ID:Afq51Jp90 >>137
>>> a = [1, 2, 3, 4, 5, 6]
>>> for i in a: print(i); a.remove(i)
...
1
3
5
>>> a = [1, 2, 3, 4, 5, 6]
>>> for i in a.copy(): print(i); a.remove(i)
...
>>> a
[]
歯抜けになるのはPythonのarrayの実装がそうだからだけど
挙動が予測しにくいから一般的に同時に使う作法が誤り
>>> a = [1, 2, 3, 4, 5, 6]
>>> for i in a: print(i); a.remove(i)
...
1
3
5
>>> a = [1, 2, 3, 4, 5, 6]
>>> for i in a.copy(): print(i); a.remove(i)
...
>>> a
[]
歯抜けになるのはPythonのarrayの実装がそうだからだけど
挙動が予測しにくいから一般的に同時に使う作法が誤り
144デフォルトの名無しさん (ワッチョイ ff06-yw1q)
2022/02/07(月) 16:21:15.83ID:Afq51Jp90 141 にもう書いてたしにそう
145デフォルトの名無しさん (ワッチョイ 9f5c-zD41)
2022/02/07(月) 16:40:04.66ID:HhuH8Ieg0146デフォルトの名無しさん (アウアウアー Sa4f-Bldr)
2022/02/07(月) 19:59:17.54ID:ZoZ1XgI6a すごい、Pythonってこんなことできるんだ
147デフォルトの名無しさん (ワッチョイ ff10-XN8f)
2022/02/07(月) 20:25:55.13ID:WJa2Jvem0 removeすると番号がズレるから後ろからremoveするのがセオリー
148デフォルトの名無しさん (ワッチョイ 9f3b-43k0)
2022/02/07(月) 20:46:50.85ID:0jla5CHw0 そんなバグの元は使わない
149デフォルトの名無しさん (ワッチョイ f72c-6/W1)
2022/02/08(火) 05:23:38.31ID:nYjjFW0t0 ループremove再代入とかバカの極み
150デフォルトの名無しさん (ワッチョイ b75f-zD41)
2022/02/08(火) 12:51:03.44ID:HdA5CgPa0 おう、これ全然消えねーんだけど何とかしろやゴルァァァアアアアアア
/bin/sh: -c: 行 0: 予期しないトークン `(' 周辺に構文エラーがあります
ねえっての、キチガイ
/bin/sh: -c: 行 0: 予期しないトークン `(' 周辺に構文エラーがあります
ねえっての、キチガイ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国軍戦闘機レーダー照射】高市総理「極めて残念」中国側に強く抗議 ★2 [ぐれ★]
- 中国軍、レーダー照射巡り反論 「日本の自衛隊機が安全脅かした」 ★4 [蚤の市★]
- 陰るスナックの灯、25年後に6割減も 私たちはどこに集うのか - 日経 [少考さん★]
- 三浦マイルド、山上被告に言及「この犯人に同情してる人 よく考えてください」北村晴男氏「まともな人間は自身の努力で人生を切り開く」 [muffin★]
- ワンメーターのタクシー乗車で運転手からまさかの対応「1万円でタクシー乗っちゃダメ」に「これって私が悪い?」グラドルに同情の声 ★2 [muffin★]
- 【歯ブラシ】くわえるだけで歯磨きが完了するロボット歯ブラシ製品化へ 最短1分、手を動かさずに歯垢の7~8割を除去 [樽悶★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap616
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap615
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1823
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1823
- 他サポ2025-288
- 【DAZN】フォーミュラGP【F1 2 3 SF P】Lap1825
- 【実況】博衣こよりのえちえちにじホロエアライダー🧪★4
- 【実況】博衣こよりのえちえちにじホロエアライダー🧪★3
- 【画像】クレヨンしんちゃんの第1巻が大人向けすぎる。よくこれが国民的アニメになれたな [738130642]
- 【画像】ワイのチンコ、デカすぎて340歳の姪を泣かせてしまう…😭
- 俺「あーイク!!!!チロル!!!!チロル!!!!チロルの耳舐めでイクぞ!!!!!」ビュビュ
- 沖縄タイムス「米兵が沖縄の少女をレイプ。NHKが高市就任で2週間延期した」NHK「抗議する!」 [633746646]
