くだすれPython(超初心者用) その51【まず1嫁】

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/10/17(土) 10:05:38.14ID:1RQ0Wdhu
当スレに★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 ###
2020/11/20(金) 17:12:00.89ID:27JFXKUI
プルリクはOSSに限らないよ
転職の話はプルリクベースの開発スタイルに馴染みがあるかどうか
もしくは適応できるかどうかっての話だと思う
470デフォルトの名無しさん
垢版 |
2020/11/20(金) 17:38:21.51ID:AGMq159w
すまん、それpython関係ある???
2020/11/20(金) 17:53:38.81ID:04W8lkpW
あげるなよ、何かを信じてる方々の啓蒙活動なんだから。
背景雑音だっぺ。
2020/11/20(金) 19:34:59.52ID:M1wpYzhx
モジュール化してimportするまでもない
git管理するまでもない
関数化はしてもいいがするまでもない
そういう用途下で、ただのformat関数をつかった文字列出力の小技の話なのに
なぜかどんな場合にもimportすべきだjsonモジュール使ってチェックすべきだ
みたいな勢力がいる違和感
2020/11/20(金) 19:42:56.25ID:abuyzRZn
>>472
違和感でも何でもない
技術者にはそれぞれ己の中に譲れないポリシーがある
「〜するまでもない時はしないでいい」というのもポリシーだし
「どんな時も〜するべきだ」というのもポリシーだ
それが匿名掲示板でぶつかり合うとこうなる
2020/11/20(金) 20:00:35.31ID:OHdUFTne
>>462
git持ち出したのは>簡単な用途でない場合
の一例ですよ
簡易的に仮想環境化で動作確認したい場合とか
statusを返すようなモジュール個別開発したりcloneしたりバージョン管理もする必要のない用途例として出しただけです
ここの人なら普通に使ってるものだと思っていたし
できる人のアピールになぜgit?という感じで正直謎でした
2020/11/20(金) 20:29:53.22ID:l5Hw5z7m
2行目で何をしてるのか教えて下さい

s = input()
print(max(map(len, s.split('S'))))
2020/11/20(金) 20:35:44.50ID:azkfkwLr
>>475
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が存在してると思っている
2020/11/20(金) 20:54:33.52ID:abuyzRZn
>>475
sに入力した文字列を'S'を境にして区切り、区切った文字列ごとに文字数を算出し
その中から最大の数を選んで表示する

これは難解
map関数は関数型言語からバクッてきた機能らしく、Pythonの文脈に馴染んでおらず
使うと大抵可読性が落ちる
プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
2020/11/20(金) 20:57:12.97ID:Y24NtUEO
バージョン管理しない書き捨ての用途だとしてもjsonモジュール使う方が何も考えなくていいもの
jupyterで適当なコード書くときだってjson numpy pandasあたりは大体始めに必要だとわかってimportしとくわ。

自分でフォーマットする合理性が理解できない。
「jsonモジュールを使うまでもない」というが、「jsonモジュールを敢えて使わない理由はない」と思ってしまう。
それこそ内包forを使うまでもないから使わない、みたいな話と同じように感じてしまう。
車輪の再発明はどうしても必要とされない限りは基本的に避けた方がいい行為、ということにも合意はなされない、のかな。
2020/11/20(金) 20:59:04.30
>>477
つまりパーサーを通したものこそ真のJSONである、と・・
しかし、そのパーサーの中身は・・?
これやってみては
if json.dumps({"status":200}) == '{"status": 200}':
_print(True)
481デフォルトの名無しさん
垢版 |
2020/11/20(金) 21:00:33.44ID:Y24NtUEO
>>475 >>478
print(max([len(st) for st in s.split('S')]))
だったら理解できるのかな?
特に478、こっちの書き方なら十分にPython流で明快とされると思うのだが
2020/11/20(金) 21:01:42.82ID:azkfkwLr
>>479
> 車輪の再発明
そういえば
去年あたり、このスレに
「エクスポーネンシャルの逆関数を発明した俺天才!」みたいな書き込みしにきたあふぉがいたなぁ・・・  (´ー`)
483デフォルトの名無しさん
垢版 |
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倍ぐらい余計に時間がかかったりするのがプログラミングの常だもの
2020/11/20(金) 21:09:07.64ID:l5Hw5z7m
>>478,481
なるほど。ありがとうございます。
少ない行数で書ける人に憧れてましたけどそうなんですね…
485デフォルトの名無しさん
垢版 |
2020/11/20(金) 21:14:07.28ID:Y24NtUEO
>>484
少ない行数で書けることがカッコいい、わけではないが、このぐらいのmapは流石に読めたほうがいい
これを5行で書くほうが良いと言うのは、正直いって10年以上前にプログラミングを習ってそこから知識がアップデートされてない人種だと思ったほうが良い
勿論初心者なら、ちょっと読み解くのが難しいから自分には5行でしか書けない、5行のパターンじゃないと読むのが難しい、というのでも構わない
でも今どきJavascriptなんかでこんな書き方は当たり前なんだから、向上心があるなら慣れるべきだと思う
2020/11/20(金) 21:23:59.20ID:aJFtJ7NQ
>>483
ただの書き方の解釈、開発環境での用途の話であって
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に質問してる時点で相当解決に時間かかってるのでは…?
488デフォルトの名無しさん
垢版 |
2020/11/20(金) 21:56:03.77ID:AGMq159w
pythonでmap, filterあたり使う理由ってほぼないだろ
内包表記に比べて遅いしgeneratorで返ってくるし
489デフォルトの名無しさん
垢版 |
2020/11/20(金) 22:04:18.19ID:V+7Wns2i
>>488
シーケンシャルに処理していくならgeneratorを連鎖させると速い
それでも generator内包表記で充分なのは確かだが
490デフォルトの名無しさん
垢版 |
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を使うか内包表記を使うかいちいち考えるのはめんどくさいので常に内包表記使ってるけど...
2020/11/20(金) 22:10:42.73ID:aJFtJ7NQ
>>487
繰り返しになるけど、文字出力と同等の用途なだけ
個人的にフロントで「ちゃんとパース可能なJSON」を解釈できればいい、その程度の用途
あとはfomatの{回避にふと疑問を持ち質問を投げた、それだけこと
というか他でjson.dumpsは普通に使ってるので
こっち({回避の疑問)の方が主ではあります

繰り返しになりますが、何がなんでもformatを使って自己パーサーを作る、なんていう質問意図ではないです
個人用途で、キーや値の変更による成型を考える場合の変数代入や関数化する過程で発生する
json.dumps使用以外の過程を省きつつ
フロントで解釈できる程度の結果を得たい(得た)というだけの話

個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
2020/11/20(金) 22:29:11.10ID:27JFXKUI
>>491
formatでつまづいた結果
5chで叩かれて悔しい思いして
100倍余計に時間かかったね
2020/11/20(金) 22:36:29.18ID:wMzkLTJS
>>491
だからそれが正しいと思うならそうすればいい
ただそう考える人はあまりいないと言うだけの話
特に職業プログラマーはチームで作業してることが多いから個人が考える「かっこいい方法」は忌み嫌われて当然
ましてや>>386程度の質問をするレベルじゃあねw
494デフォルトの名無しさん
垢版 |
2020/11/20(金) 22:40:22.91ID:Y24NtUEO
>>491
「フロントで「ちゃんとパース可能なJSON」を解釈できればいい」のならjson.dumps(obj) 一択
1行でコピペできないという問題も__import__('json').dumps(obj)という書き方で解決された

なぜそこまで自分のコードが信頼できるのか疑問
jsonモジュール(別にjsonモジュールに限らず、他の言語も含む世の中にある名の知れたライブラリ)を書いたプログラマーのほうが
色んな人にソースコードの動作を検証してもらってるし、コード自体も査読してもらってるし、長い時間をかけてそのモジュールを書いているし、
そもそもオープンソースとして公開する時点で優秀なプログラマーの可能性が高い
あなたの言う「スマートなやり方」というのは、「言語/言語のエコシステムの補助を使わずになんとかする方法」なのかな?

「適当な文字出力」と「パース可能なJSONの出力」はハードルが違うからね。
あと、この場合あなたが書きたいのは「パーサ」じゃなくて「シリアライザ」とか「フォーマッタ」と呼ばれる

ぶっちゃけ何度もimportしても構わないからimportは必ずプログラムの頭に書かなくてもいいとか知らなかったことを認めるのが癪で
引っ込みがつかなくなってるのではないかな?
超初心者用のスレなんで、知識が怪しいんじゃないか、というところにツッコミを入れるのもアレだけど、パーサの誤用とか含めて
プライドが高い割には知識が怪しいように思っちゃうなぁ。
2020/11/20(金) 22:40:35.67ID:aJFtJ7NQ
>>492
投げた質問が返ってくるまでその質問タスクしか処理できないなんてありませんよ・・
あなたはそうなのかもしれませんけど

>>493
その程度の読解力やレッテル貼りするような人格だと苦労しそう
お察しします
2020/11/20(金) 22:43:05.19ID:abuyzRZn
>>481
個人のポリシーでしかないから押し付けるつもりはないが
内包表記も関数型言語からの取入れであり可読性の悪いコードになる
何せコードを右から読まなくてはいけないからね
よって自分は先のmapとこの内包表記は極力使わないようにしてる
forとifとappendでリストにまとめるスタイルが一番しっくりくる
2020/11/20(金) 22:43:14.36ID:8FBZ4Sqf
>>474
gitの話が簡単でない用途の例ってますます分からん

"gitで管理するレベルのモジュール"??
管理しないモジュールがあるの?
ファイル1個追加するだけっしょ?
2020/11/20(金) 22:48:59.72ID:aJFtJ7NQ
>>494
>importは必ずプログラムの頭に書かなくてもいい
importの場所は主題ではないですよ
そのobjはどこでどうやって成型した・するのでしょうか

>信頼できるのか
繰り返しになりますけど、ただのJSON文字列同等の用途で使っている
という理解だからです
繰り返しになりますが、そうではない、と思うなら普通にjsonモジュールを使っています

個人的には上みたいなJSONとして解釈できるただの文字出力用途で
開発途中に100倍余計に時間がかかってしまうようなことはないと思います
499デフォルトの名無しさん
垢版 |
2020/11/20(金) 22:50:34.06ID:Y24NtUEO
>>496
どこまで複雑な内包表記を認めるかというのは、仰るとおりポリシー次第なところはあるね。
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になって各言語のパーサーでそのまま解釈できると考えておしまい
だから、いちいち妥当でない可能性のある「文字列」の状態を考えたくない
501デフォルトの名無しさん
垢版 |
2020/11/20(金) 22:58:07.55ID:GCIXM+fw
>>475
某言語では
s split("S") map(size) max println
2020/11/20(金) 22:59:54.94ID:HBV8TmEn
一連のやりとり見てこれを思い出した
ほんとなんで自信満々なんだろう?

「staticおじさん」はなぜ自信満々なのか
https://xtech.nikkei.com/it/atcl/watcher/14/334361/122100450/
2020/11/20(金) 23:02:30.97ID:aJFtJ7NQ
>>500
いやだから(一つとして)その
>とかいう値が入ってるとして
の行数の話をしているだけですよ
statusが500のとき、errorに何かしら入れるとき
どうしますか?っていうだけの話
504デフォルトの名無しさん
垢版 |
2020/11/20(金) 23:07:40.26ID:Y24NtUEO
>>503
え、マジでわからんの?
statusが500だったりerrorになんか入っているときも書き方同じじゃん?
じゃあさ、formatを使う場合と__import__('json').dumpsを使う場合でコードを並べて、
formatの方がここが優れていると教えてくれよ。
逆にerrorに二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、formatだと余計なエスケープ処理が入ると思うけどなぁ。
2020/11/20(金) 23:10:29.05ID:P/qrHO+P
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル | Udemy
https://www.udemy.com/course/python-beginner/
2020/11/20(金) 23:12:44.36ID:998hZ133
>>481
ナゼこう左から右へと流れるように書けないのかと悩むこと小一時間、

 s.split(’S’).map(len).max()

>>478,496 に賛同するに至る

 >>478
 > プログラマたるもの、難解な1行より明快な5行を書くことを心掛けなくてはならない
 >>496
 > forとifとappendでリストにまとめるスタイルが一番しっくりくる

これぞPythonスタイルなり
2020/11/20(金) 23:17:41.85ID:wMzkLTJS
>>495
> その程度の読解力やレッテル貼りするような人格だと苦労しそう
レッテル貼り?
質問の内容から判断してるんだけど?
読解力とか意味わからんしw

> お察しします
人の事を心配するレベルじゃないことを自覚したほうがいいと思うぞ…
508デフォルトの名無しさん
垢版 |
2020/11/20(金) 23:20:59.09ID:Y24NtUEO
>>506
C#のLINQみたいにmapとかmaxとかをリストやジェネレータのメソッドとして追加できたらその書き方も出来るのだろうね。
実際、pandasやnumpyでは当該ライブラリで用意しているクラスではそのような書き方ができるような配列ライクなクラスを用意している。
Python言語が生まれた時期が微妙に古いというのが不自然な文法に影響しているかもね。
習いたての頃は、なんでarr.len()じゃなくてlen(arr)なんだ、って思ったもの。
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に二重引用符とか入ってたり、改行とかの特殊文字が入っているときに、
入らない用途なので自分の環境下では問題ありません
2020/11/20(金) 23:34:39.47ID:uMSrjpcB
>>509
このスレの人間にはあなたの質問のレベルが高すぎると思うんですよ

https://www.python.jp/pages/pythonjp_discord.html
ぜひお越しください
511デフォルトの名無しさん
垢版 |
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でやってくれ」ってお願いしてるんだけど、「私は算盤が得意だからいいの!」って言われてる感じ
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})
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より短いよ。
2020/11/20(金) 23:59:39.49ID:aJFtJ7NQ
>>513
'{{"status":{},"{}":"{}"}}'
を書いてみてください
515デフォルトの名無しさん
垢版 |
2020/11/21(土) 00:01:48.28ID:TffSxZDq
>>514
ここまで示されててわからんの?煽るだけじゃなくて勉強しようよ。
res = lambda s, k, v: json.dumps({'status': s, k: v})
res(500, 'error', 'hoge')
2020/11/21(土) 00:11:54.22ID:RHs1PlgB
>>515
ありがとうございます
キー名はそのまま代入できたのですね!
自分が書いたjson.dumpsを使った方ではlambda式では長くなってしまい
結局formatでいいか、みたいな経緯がありました
あとは辞書の結合やショートカット機能使えない環境化をでも使ってみたいのでそのあたりを工夫してみようと思います!
517デフォルトの名無しさん
垢版 |
2020/11/21(土) 00:15:10.92ID:TffSxZDq
えぇぇ、
いやまぁ納得してもらえたならいいけど、、、
良かったね
2020/11/21(土) 01:07:30.25ID:v5QqbOTJ
そうか
lispのコードをさんざん見てきた私は
内包表記もmapも普通なんだけどな
分かりにくい人がいるというのを認識した
2020/11/21(土) 01:09:15.76ID:5FVo37Wp
普通にhttpレスポンスを生成する関数の中でモデルをjson化してれば
json.dumpsのところだけをlambdaにしたいなんてことにはならないと思うんだけどなぁ
2020/11/21(土) 06:50:26.86ID:XFVQeQAy
>>501はlispなん?
すげーな
原始的な言語だと聞いていたけど、splitもmapもあるじゃん
2020/11/21(土) 07:22:59.30ID:Va5Vhbzu
こんにちは。

pandasのdataframeのデータから、別途用意されたカラム名リストの
カラムだけ取り出す方法をご教授願います。

例:

df

はa〜zの列がある。

list = ('d', 'g', 'h')

にあるカラム名の列だけ取り出したい。

(listの中身はその都度変わって数も多い。)

よろしくお願いします。
522521
垢版 |
2020/11/21(土) 07:40:18.66ID:Va5Vhbzu
リストは()じゃなくて[]でした。
2020/11/21(土) 07:54:32.25ID:v5QqbOTJ
>>520
lispのmapとsplitが便利だから
それ以後の言語には持ち込まれたわけで
524521
垢版 |
2020/11/21(土) 08:22:43.36ID:Va5Vhbzu
自己解決しました。

data = df[df.columns.intersection(list)]
525デフォルトの名無しさん
垢版 |
2020/11/21(土) 10:37:59.41ID:TffSxZDq
>>524
細かいことだが、
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、伊藤淳一の動画でも、コードレビューしてる
2020/11/21(土) 12:47:45.12ID:TffSxZDq
今どき香具師なんて言葉使ってるのが老害
2020/11/21(土) 14:41:23.41ID:sC5Fd4g2
少し上の過去レスを追うこともできない古い人間 >439
529デフォルトの名無しさん
垢版 |
2020/11/21(土) 16:32:50.83ID:RuZftilT
macOS での python の質問もここで良いのですか?それとも他に板やスレがありますか?
2020/11/21(土) 18:06:02.09ID:9ThAje8p
>>527
ルビ厨の相手すんなよ…
2020/11/21(土) 19:18:21.04ID:G/gsSEBM
ガイジはガイジ仲間を見つけると相手をしたくなる
2020/11/21(土) 20:56:16.84ID:a8Ztm65P
>>529
初心者の質問板
533529
垢版 |
2020/11/21(土) 23:22:52.56ID:yoIvpsjT
>>532 その様な名前の板は今はないようです。

色々と探しましたが、他に適当な場所がなさそうなのでここで質問させてもらいます。

http://codepad.org/4R0nolza

の python コードが linux や FreeBSD では正常に動くのですが、macOS では動きません。
問題なく起動してウインドウは表示されるのですが、"Run" ボタンを押すと、
----------------------------------------------------------------
gi.repository.GLib.Error: g-io-error-quark: 子プロセス“/bin/ls”の起動に失敗しました: Failed to fdwalk: Too many open files in system (0)
----------------------------------------------------------------
となり機能しません。
理由や解決方法が分かる方がいましたら、よろしくお願いします。
pygobject3 と gtk+3 は brew install してあります。
maxfiles は 256 から 500000 に増やしても変わらないので関係ない様に思います。
macOS を持ってる方が居ましたら、同じ様に動かないか、試して貰えると助かります。危険なコードではないです。
2020/11/22(日) 00:11:27.43ID:XUuDe+rV
>>533
ググると出てくるよ
https://gitlab.gnome.org/GNOME/vte/-/issues/296
2020/11/22(日) 00:29:35.12ID:XkZ25nA+
>>533
初心者の質問
https://matsuri.5ch.net/qa/
536529
垢版 |
2020/11/22(日) 03:46:53.92ID:cFZbur5B
>>534
情報どうもです。なるほど、バグでしたか。では、待てば治りますかね。
そうとは知らず、だいぶ時間を費やしてしまった。。。
537デフォルトの名無しさん
垢版 |
2020/11/22(日) 16:28:51.73ID:G9NcntIf
>>129
MACの一部のプログラムはpythonで動いてて、それが昔から変わってないからなはず
だからアンインスコするとOSが正常動作しなくなる場合があるので注意
538デフォルトの名無しさん
垢版 |
2020/11/22(日) 19:43:13.90ID:ybcOLacK
>>518
lispの内包表記って、どんなの?
2020/11/22(日) 19:57:14.75ID:8S0A0EeS
>>538
https://docs.python.org/ja/3/tutorial/datastructures.html#list-comprehensions
2020/11/23(月) 07:17:21.35ID:xSj92hSq
Common Lispのloopマクロのことかな
多重ループの動作とか違うけど
2020/11/23(月) 13:04:17.83ID:jG27y6sh
javascriptとpython行ったり来たりすると変数宣言つけ忘れるのいらっとする
2020/11/23(月) 16:16:30.12ID:8ahwCiT0
俺もjavascriptというかGASと行き来してるんだがセミコロンの有無とかごちゃごちゃになる
2020/11/23(月) 17:33:21.21ID:QPYZ0Uk0
質問です
古いバージョンのPython(3.6など)と新しいバージョンのそれ(3.9など)が
同じパソコンにインストールされている時に、
バージョンを指定してコマンドプロンプトで起動するには
どうすればよいでしょうか?
2020/11/23(月) 17:47:33.05ID:I3+EYDwP
>>543
起動したいバージョンの方が先にくるように環境変数を書き換える
2020/11/23(月) 18:13:44.52ID:hekS2Nxq
>>543
フルパスで起動する
546543
垢版 |
2020/11/23(月) 18:24:55.81ID:QPYZ0Uk0
>>544
>>545
分かりました
ありがとうございました
2020/11/23(月) 19:38:33.80ID:ILFQzaXV
py launcherにチェック入れてインストールしてあるなら
py -3.6 〜
py -3.9 〜
のようにバージョン番号指定で起動できる
548デフォルトの名無しさん
垢版 |
2020/11/23(月) 20:56:03.18ID:uZZUCgAn
>>543
Windowsならpy -3.6 もしくはpy -3.9で起動できる
仮想環境もpy -3.9 -m venv envでつくれる
2020/11/24(火) 04:18:20.78ID:FGR0jZQZ
>>548
  >>547してないと、それむりくね?
550543
垢版 |
2020/11/24(火) 19:13:50.73ID:HZvvV0Lc
やってみたら出来ました
答えてくれた方、ありがとうございました
2020/11/24(火) 19:14:13.91ID:FWk6XcjL
なんで相対Importこんな癖強いの
552デフォルトの名無しさん
垢版 |
2020/11/24(火) 19:22:37.02ID:1r1WUQcO
pythonのimport周りはガチでゴミ
2020/11/24(火) 20:20:37.92ID:FWk6XcjL
同じ階層なら何も引っかからずにすんなり通るのに(´・ω・`)
2020/11/24(火) 23:51:24.27ID:rjI7LKiS
カタカナの伸ばし棒がすべて半角ハイフン-になっているとして
・コ-ヒ- → コーヒー
・コ-ヒ--砂糖入り- → コーヒー-砂糖入り-
・カフェオレ-ミルク- → カフェオレ-ミルク-
こういうのってPythonで可能?規則性がない場合出現しうるあらゆる単語を手動で対策しないと無理かな
-の前がカタカナなら伸ばし棒に変換ってので単語としては成立するけどカフェオレーミルクーはお手上げ
2020/11/24(火) 23:55:11.19ID:NI0G1gzk
>>554
正規表現をご存知でない?
2020/11/25(水) 00:20:42.57ID:e2GmmQnc
規則性ないから辞書がないと無理でしょ
カフェオレーミルクーというメニューがないと知らないといけないから
2020/11/25(水) 08:50:41.22ID:F6rJOYse
言語の問題でない気がするが・・・556に一票。
558デフォルトの名無しさん
垢版 |
2020/11/25(水) 09:34:58.20ID:RkyjIoNj
>>554
>カフェオレ-ミルク-
これはどういうこと?カフェオレにさらにミルクが入ってるの?
それとも、カフェオレとはコーヒーにミルクが入ったものですよっていうこと?
その辺が曖昧だよね
559デフォルトの名無しさん
垢版 |
2020/11/25(水) 10:12:51.09ID:BL1+yQyO
主題副題分割なら、まずは全部の箇所で分割して、
コ -ヒ-
これはハイフンを閉じ括弧の亜種として対になってるから第一次判定に合格、
そしてコが主題でヒが副題、
しかし文字数判定であり得ない(主題副題共に1文字)から、主題でなければ副題でも無い、とすりゃいい

***

1 コ -ヒ--砂糖入り-
2 コ-ヒ --砂糖入り-
3 コ-ヒ- -砂糖入り-
4 コ-ヒ-- 砂糖入り-

1番はそれっぽいが「ハイフンは二つ重ならない」というルールで却下
2番も「副題主題はハイフンからは始まらない」として却下
4番は問題外
残るは3番は副題のハイフンが括弧対を形成しているので合格
560デフォルトの名無しさん
垢版 |
2020/11/25(水) 10:20:06.38ID:BL1+yQyO
丁度いいのがあった
フル-ル・ド・ラパンのハ-ブティ--ローズヒップ-
ttps://pbs.twimg.com/media/C-kqXNUUQAMoc-5.jpg
2020/11/25(水) 10:25:03.24ID:DoFzLzHw
後ろの-砂糖〜-とかのパターンは限られてそうだから、
こんな感じでだいたいはできないかな?
(?<!-)-(?!($|[ミ砂]))
2020/11/25(水) 10:55:23.79ID:BeZXjuPe
11/20

Python の無料動画の神、キノコードの37分の新動画が出てる。
たぶん、以前の各動画をまとめたものだと思う

【徹底解説】Windowsでの環境構築|Pythonでプログラミングをはじめる準備をしよう!
https://www.youtube.com/watch?v=kb6op3-E_lg
2020/11/25(水) 12:29:17.61ID:Eovv5MKD
>>559
炭酸コ-ヒ--クリ-ム-
はどうするよ
2020/11/25(水) 12:54:47.49ID:Eovv5MKD
C-1000タケダ-ミルク-はどうするよ
565デフォルトの名無しさん
垢版 |
2020/11/25(水) 13:06:14.77ID:BL1+yQyO
どうにかするルールを考えればいいじゃん

でも今回は、
炭酸コ-ヒ--クリ-ム- は「ハイフンは二つ重ならない」のルールで何とかする
C-1000タケダ-ミルク- は「主題副題が短すぎる」のルールで何とかする
566デフォルトの名無しさん
垢版 |
2020/11/25(水) 13:17:21.18ID:BL1+yQyO
主題副題分割なんだから、多分こういうのも念頭にあるんじゃないのか
ギャラクシ-エンジェル-激レアフォ-チュンクッキ--
本当のところの用途は知らんけど
2020/11/25(水) 13:22:18.15ID:bqcTiXDb
本当の用途は歌手名/曲名なんじゃないか
あと炭酸コーヒーは美味しくないから法で規制した方がいい
2020/11/25(水) 13:50:19.95ID:B0nrdhk4
プリティ-プロジェクトの孤高のビュ-ティ-プリンセス、るかにゃんこと姫乃川琉歌のクリスマスライブ衣装-にゃっぱれ恋泥棒バ-ジョン-

ちょっと規則性見いだせなかったわ
569デフォルトの名無しさん
垢版 |
2020/11/25(水) 14:22:40.62ID:BL1+yQyO
「装-」の「(漢字)ー」のパターンは無いとしていい
漢字の後に長音が続くパターンだ

すると、それはハイフンでなければならない
さらに、それが末尾でないなら、対括弧の開始ハイフンになる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況