[過去ログ] くだすれPython(超初心者用) その46【Ruby禁止】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(7): デフォルトの名無しさん [] 2020/01/02(木) 15:56:54 ID:ZUrZA+uS(1/3) AAS
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
↓等のてきとうなソースコード用うpろだに貼ってきてください。
スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
http://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
http://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
http://pastebin.com/ まずまずシンプル。
http://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
https://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ http://python.rdy.jp/
〇前スレ〇
くだすれPython(超初心者用) その45【Ruby禁止】
2chスレ:tech
903: デフォルトの名無しさん [] 2020/02/27(木) 15:31:40 ID:G6pyHvdg(2/4) AAS
>>894
s///gのgもgrepのgもpythonのgroupとは無関係
904(2): デフォルトの名無しさん [] 2020/02/27(木) 15:34:26 ID:G6pyHvdg(3/4) AAS
>>901
pythonの三項演算子は表記は違うけど書く順はCと一緒だし困らない
慣れだけの問題
905: デフォルトの名無しさん [sage] 2020/02/27(木) 16:34:42 ID:r1k8T+E3(1) AAS
>>904
一緒じゃなくない?
flag ? "true" : "false"
'True’ if flag else ‘False’
906: デフォルトの名無しさん [] 2020/02/27(木) 16:37:07 ID:G6pyHvdg(4/4) AAS
細かいことは気にすんな
907(1): デフォルトの名無しさん [] 2020/02/27(木) 18:08:21 ID:RRBu+1LX(1) AAS
>>895
三項演算子うんぬん以前に、文字列と予約語(if)との間や二項演算子の前後に
空白を置かないという、初心者にありがちな可読性を低下させる誤りがある
この田島悠介という現役エンジニアの技術レベルがその程度であり、
おそらくTechAcademyマガジンというサイトもそんなレベルの記事で
溢れているであろうことは、容易に予測できる
もし自分がPythonで三項演算子を使うなら、以下のように書く
https://www.ideone.com/gOE9K0
後置if節とでも言えばいいのか、Haskellのガード式をイメージしている
>>899
関数型言語ではないが、スレタイの某言語だと以下のように書ける
https://www.ideone.com/uy4Baa
908: デフォルトの名無しさん [] 2020/02/27(木) 19:10:02 ID:x1hy167u(1) AAS
>>904
909(1): デフォルトの名無しさん [] 2020/02/27(木) 20:53:30 ID:b5CXYagp(1) AAS
https://www.ideone.com/d1O8k6
910(2): デフォルトの名無しさん [] 2020/02/27(木) 21:11:54 ID:oAIJ90KI(1) AAS
>>895
条件によって値を返すだけなら
Excelのワークシート関数のif関数みたいなのが
個人的には1番わかりやすい
911(5): デフォルトの名無しさん [sage] 2020/02/27(木) 22:06:26 ID:F/P7X7F7(1/3) AAS
ループでぐるぐるまわしてて
4の倍数の時は3をたすってのはどうしたらいいですか
それ以外のときはそれぞれ別々にやる計算あります
あとpythonの質問するところってここしか知らないですが
他にもありますか?
912(1): デフォルトの名無しさん [sage] 2020/02/27(木) 22:39:54 ID:ZhdluG0Q(1) AAS
>>911
非コミュ障害、知能が低くないなら、ここよりTeratailにしたほうが良いが
でも、お前はコミュ障害もち、知能低い感じで一般の奴らからは相手にされないだろう。
結局、基地外、ゆとり、低脳の掲示板である5chぐらいしかお前の相手をしてくれないよ
913: デフォルトの名無しさん [sage] 2020/02/27(木) 22:41:29 ID:W1ryAU1b(1/2) AAS
>>911
しゅくだいの わからないところは
だすひがくるより だいぶさきに
せんせいに きいてね!
914(1): デフォルトの名無しさん [sage] 2020/02/27(木) 22:43:31 ID:IKP0YcdJ(1) AAS
pandasで2つのキーを指定してcsvファイルを結合したいのですが、可能でしょうか?
列Aが一致する範囲内で列Bを軸に2つのファイルを結合
pd.merge(df1, df2, on=['列A', '列B'], how='outer') としたところ、シャッフルして変になりました
915: デフォルトの名無しさん [sage] 2020/02/27(木) 22:45:57 ID:F/P7X7F7(2/3) AAS
>>912
仕方がないですがあなたもお仲間ですね
916: デフォルトの名無しさん [sage] 2020/02/27(木) 22:50:12 ID:W1ryAU1b(2/2) AAS
>>914
なにがどう「変に」と感じたのかしらんが
↓あたりのhowについてのところ + joinについてのところでもよんでみればー
https://note.nkmk.me/python-pandas-merge-join/
917(1): デフォルトの名無しさん [sage] 2020/02/27(木) 22:53:16 ID:F/P7X7F7(3/3) AAS
4の倍数でっていうのは
if n%4 == 0:
____b=a+3
else:
____b=a
みたいなのじゃなくて
if使わなくてもa+3に
なにか足すと四の倍数の時にだけ3を足すような
のがあるかどうか知りたかったのです
説明不足ですいませんでした
918(1): デフォルトの名無しさん [sage] 2020/02/27(木) 22:55:49 ID:0yCkEhTI(1) AAS
pythonの環境構築が難しすぎる
3系で動かそうとしたら、デフォで入ってる2系が動いてる
vagrantでsyncフォルダにScrapyのプロジェクト作ろうとしたらエラー吐くし
諦めてdjangoで糞アプリ作ってる
pythonはライブラリが豊富だから魅力的なんだけど、今の活かせてない
919: デフォルトの名無しさん [] 2020/02/27(木) 23:09:00 ID:mQGc2SMz(1) AAS
>>911
その日本語をそのままコードに翻訳するだけ
920: デフォルトの名無しさん [sage] 2020/02/27(木) 23:22:44 ID:9dlETTA2(3/3) AAS
>>907
>関数型言語ではないが、スレタイの某言語だと以下のように書ける
そのケースは普通case文使うやろ
https://www.ideone.com/7jQ3Tb
>>909
ぱっと見わかりやすそうに見えるけど
自然な思考順序に反してるからすごく可読性が低いんよね
921(1): デフォルトの名無しさん [sage] 2020/02/27(木) 23:28:37 ID:j46qIfAH(2/2) AAS
>>917
やらんほうがいいけど
a + 3 * (n % 4 == 0)
みたいなのは書けるが
922(1): デフォルトの名無しさん [sage] 2020/02/27(木) 23:48:16 ID:EmRw8gIY(1) AAS
>>901
なんでそれが通ったか逆に不思議だよな。
後置ifとも他の三項演算子とも似てるようで違うキモい文法。
923(1): デフォルトの名無しさん [sage] 2020/02/28(金) 00:00:23 ID:CBzuDuio(1/2) AAS
>>921
ありがとうございます
a+3*[1,0,0,0][n%4]というのも考えましたが
やらない方が良いですか?
ifが来た方がやっぱり良いんでしょうか?
924(1): デフォルトの名無しさん [sage] 2020/02/28(金) 00:12:19 ID:DkMBLb2P(1) AAS
>>923
自分だけが見るんなら何やってもいいけど人が見る可能性あるなら正直読みにくいし
無駄なハックは自分がやるならいいけど他人がやってるの見るとイラッとする
人ってそういうもんだし
ただそうやってコードで遊ぶのは勉強としてはとてもいい
925: デフォルトの名無しさん [sage] 2020/02/28(金) 01:04:06 ID:CBzuDuio(2/2) AAS
>>924
ありがとうございます
よっぽどの事情がない限り
無理やりifを無くす事はやめときます
926(1): デフォルトの名無しさん [] 2020/02/28(金) 01:33:44 ID:mVRkB3jj(1) AAS
>>922
内包表記とか関係あるのかな
927: デフォルトの名無しさん [sage] 2020/02/28(金) 02:17:43 ID:xXr38fg8(1) AAS
>>926
https://lwn.net/Articles/25304/
if <condition> then <expression1> else <expression2>
この選択肢だとマイナー機能に新しいキーワードを追加しないといけない
それに加えてパーサーがif文の開始だと誤解しないようにするため
括弧が必要になり醜くなる
というのがGuidoがPEPが提示段階で書いてた理由
その後メーリングリストでいろいろ議論はされてるけど
本人がそれをまともに読んでる形跡はなく
自分が最初に出した案に決めたように見える
https://lists.gt.net/python/python/144863/?page=1;
https://lists.gt.net/python/dev/264358?#264358
928: デフォルトの名無しさん [] 2020/02/28(金) 02:31:53 ID:JX0D/Sej(1) AAS
ちゃんとメーリスから議論を拾ってくる有能
929: デフォルトの名無しさん [sage] 2020/02/28(金) 13:49:30 ID:GfVfgYuK(1) AAS
>>918
Windows 10, WSL, Ubuntu 18.04 では、
python/python3 コマンドは別のものだから、間違う訳ないw
which python3
/usr/bin/python3
file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.6
which python
/usr/bin/python
file /usr/bin/python
/usr/bin/python: symbolic link to python2.7
930: デフォルトの名無しさん [sage] 2020/02/28(金) 23:30:10 ID:/I0WWb67(1) AAS
pyenv導入したいんですがいくつか疑問があります
まず、既にエイリアスに
python="/usr/local/bin/python3"
python2="/usr/bin/python"
という風に設定してるんですが、pyenv導入する場合はこれは外さないとまずいですかね?
そして既に入れてるpipのライブラリはpyenvの方のPythonでも使えるんでしょうか。
最初の導入ばかりでこの辺りの説明してるサイトが全然見つかりませんでした
もし良ければ回答お願いします。
931(2): デフォルトの名無しさん [sage] 2020/02/29(土) 11:11:22 ID:VOzt624K(1) AAS
とりあえずは外したほうがよい。
というか二重三重の設定をメンテするなんて大変だろ?
pyenv自体はそこらへんのエイリアスをいい感じにやるだけだから
pipも普通に使えるし変わらんよ。
ただ、いろいろ環境がわからなくなることはよくある。
個人的にanacondaにパス通す方がよっぽど事故が少ないんだが、
公式原理主義者はどうも納得しないぽい。
932(1): デフォルトの名無しさん [sage] 2020/02/29(土) 11:17:08 ID:i8bha/XW(1/2) AAS
もうPythonの環境周りは滅茶苦茶だね
初心者は環境構築だけで丸一日費やして嫌になってやめていく
普及したことが皮肉にも普及の妨げになっている
933: デフォルトの名無しさん [] 2020/02/29(土) 11:58:39 ID:KnuPGJb+(1) AAS
仮想環境が当たり前みたいな記事ばっか書いてるアホどものせいだろ
全員電ノコで4ツ切りにして海に捨てたい
934(1): デフォルトの名無しさん [sage] 2020/02/29(土) 12:07:24 ID:4aY82yvr(1) AAS
venvもつかえんザコとかおるの?
無視しても良いんじゃね
935(1): デフォルトの名無しさん [sage] 2020/02/29(土) 12:54:53 ID:PDnkp16t(1) AAS
困ってる奴が何のos使ってるのか知らんが、windowsならpathを弄れば何とかなる
俺も勉強のために最新入れてインタラクティブモードでpython起動したら2.7(?)とかだった
cドライブをpython.exeで検索したら20件ぐらい出てきて色んなアプリでpythonが使われていた
仕方がないので自分が意図してインストールしたpythonのpathを一番先頭に持っていったら
自分が意図してインストールしたpython.exeを起動できた
936: デフォルトの名無しさん [] 2020/02/29(土) 13:00:09 ID:x6UuZEs8(1) AAS
C#+Visual Studioが至高
937(2): デフォルトの名無しさん [] 2020/02/29(土) 13:10:46 ID:/XxbCwlB(1/2) AAS
>>931
ありがとうございます!
2系と3系を同時に使いたいんですがそれはもう毎回切り替えるしか手がないんですかね?
938: デフォルトの名無しさん [sage] 2020/02/29(土) 13:42:38 ID:i8bha/XW(2/2) AAS
>>934
**envというプロダクトが多すぎて検索しただけで萎える
しかも廃れた古いものもヒットするので、全くの新規さんが独学でやるには二重の苦難だろう
こんなんじゃPythonの未来は暗いと感じる
939: デフォルトの名無しさん [] 2020/02/29(土) 13:54:03 ID:3sltTQiA(1/3) AAS
>>931
ほんそれ
940: デフォルトの名無しさん [] 2020/02/29(土) 13:56:01 ID:3sltTQiA(2/3) AAS
>>937
切り替えるんじゃなくて
どっちの設定もしない
コンソールを開いてから
どっちを使うか選択(コマンド実行)
941(1): デフォルトの名無しさん [] 2020/02/29(土) 13:57:46 ID:3sltTQiA(3/3) AAS
ちょっと判りにくかったかもしれんが
要するに混ぜるなってこと
両方入ってるのは問題無い
環境を混ぜるのが問題
942: デフォルトの名無しさん [sage] 2020/02/29(土) 14:17:00 ID:xglx3xdS(1/2) AAS
>>937
Win系なら、両方入ってる場合は
pythonとうったら2系
pyとうったら3系
がデフォやぞ
.pyをダブルクリックで実行したい ってのはかなわぬ願い
バッチかませろ
943: デフォルトの名無しさん [sage] 2020/02/29(土) 14:26:25 ID:6BfVplee(1) AAS
winもpyに.py関連付けてたらshebang書けば使い分け出来るで
944(2): デフォルトの名無しさん [sage] 2020/02/29(土) 14:36:00 ID:/XxbCwlB(2/2) AAS
>>941
ありがとうございます、とりあえず言われた通りコマンドで選択してみます。
後言い忘れてましたがOSはMacです…エイリアスで色々やってるのはpythonコマンド
だと2系が自動で選択されるからです。環境描き忘れててすみません。
945: デフォルトの名無しさん [sage] 2020/02/29(土) 14:45:21 ID:xglx3xdS(2/2) AAS
>>944 なんというぐうくそ
946: デフォルトの名無しさん [sage] 2020/02/29(土) 23:48:35 ID:6IdZMwnf(1) AAS
>>935
パスの順番を変えたら、他のアプリが動かなくなるけど、それは良いのか?
>>944
Mac は最初から、Python, Ruby が入っているから、その環境に影響を与えるとまずい。
それらを使っているアプリがあるから
だから、仮想を使う
Docker も良いかも
947(1): デフォルトの名無しさん [] 2020/03/03(火) 09:40:24 ID:Zy/UEfGJ(1/2) AAS
seleniumにてfirefoxの既存のプロファイルを使用する方法はありませんでしょうか?
どうにも既存のプロファイルを読み込まなく難儀しています...
948(1): デフォルトの名無しさん [] 2020/03/03(火) 09:43:07 ID:Zy/UEfGJ(2/2) AAS
コードはたったコレだけなんですが全くといいほど読み込みません
from selenium import webdriver
fp = webdriver.FirefoxProfile('/home/user1/.mozilla/firefox/zaxxxxxt.default')
browser = webdriver.Firefox(fp)
949(1): デフォルトの名無しさん [sage] 2020/03/03(火) 11:13:11 ID:GznFhYco(1) AAS
>>947-948
https://techiedelight.com/compiler/?ScFS
↑ここにかんすうはってきたので
fp = get_profile_path("default")
こうやってさがさせてみそ
それでも、なんでかうまく読まないことあるけど。。。
あと、基本的なところだが、
geckodriverのバージョンが古いと失敗すること多い。
950(1): デフォルトの名無しさん [sage] 2020/03/04(水) 02:21:30 ID:n/osJUKI(1) AAS
>>949
ありがとうございます
fp = get_profile_path("default")
browser = webdriver.Firefox(fp,executable_path=’場所')
作って頂いた関数を使用したのですが、やはり新規プロファイルを読み込まれ既存のプロファイルが読み込まれません
Chromeでは既存のプロファイルが読み込まれるのですが、如何せんChromeではmeta refreshをdisable出来ないため
firefoxを利用したいのです
プロファイルの場所は初期値 geckodriverは0.26.0なので問題ないと思うのですが…
951: デフォルトの名無しさん [sage] 2020/03/04(水) 12:59:09 ID:Q2O9cj6l(1) AAS
>>950
プロファイルの場所探すところを改造せんといかんのかもしらん
泥臭いやりかただと、
ターゲットフォルダの中身全部をリストにして
.defaultで終わってるものをとる。みつかったらbreak
みたいなー
952: デフォルトの名無しさん [] 2020/03/04(水) 19:58:03 ID:fq3DQX8J(1) AAS
>>932
アナコンダインストール一発ではだめなの?
953: デフォルトの名無しさん [] 2020/03/04(水) 20:13:57 ID:O0VNA921(1) AAS
駄目に決まってんだろアホ
お前だろ「Anacondaをインストールする2020最新」とかいうアマゾンの中華製品みたいな信用度の記事Qiitaに書きまくってるゴミは
954(1): デフォルトの名無しさん [sage] 2020/03/04(水) 23:19:20 ID:nNNW6i++(1) AAS
Anaconda は、Python が入っていない、Windows 限定
Mac, Linux など、最初から、Pythonが入っているものについては、
初心者には無理なので、プロに聞いてくださいと、
「みんなのPython 第4版、2017」にも、書いてある
つまり、最初から入っている、Pythonと両立させるのは、仮想が必要だから、難しい
955: デフォルトの名無しさん [sage] 2020/03/05(木) 04:04:41 ID:eClduRvk(1) AAS
つまりPythonを使うならWindowsという時代が来たということだな
最初からPythonを入れてシステム的に依存する仕組みにしたLinux系は下手打ったよなあ
956(1): デフォルトの名無しさん [] 2020/03/05(木) 07:16:32 ID:s/vnmaxn(1/3) AAS
システムとは別にPythonいれてそっち使えばいいやん
仮想可は実行環境だからまた別の話
957: 954 [sage] 2020/03/05(木) 08:01:54 ID:PBcHTAfh(1) AAS
仮想環境は、Ruby のrbenv・RVM とか、Python のvenv とか、
これが素人には難しすぎるから、入門書には書いていない!
Mac・Linux では、仮想環境になる
958: デフォルトの名無しさん [] 2020/03/05(木) 12:41:11 ID:s/vnmaxn(2/3) AAS
>>956
>仮想可
じゃなくて、仮想環境でした
959(1): デフォルトの名無しさん [] 2020/03/05(木) 15:08:38 ID:zs+Uexwr(1/2) AAS
超初心者です
100回動作を繰り返すとします
繰り返しn回目でn回〇〇するといった場合どう記述すればいいんですかね?
たとえば30回目の動作で30回ボタンを押す、55回目で55回ボタンを押すというような感じです
960(1): デフォルトの名無しさん [sage] 2020/03/05(木) 15:15:03 ID:CNNRfBpe(1) AAS
それ、pythonの質問じゃなくてどうプログラムしたら良いのかの
プログラミング自体の質問だから
自分で考えなさい
961(1): デフォルトの名無しさん [] 2020/03/05(木) 15:20:01 ID:ZS+YL4ip(1) AAS
>>959
for n in range(100):
for i in range(n):
doSomething()
962: デフォルトの名無しさん [] 2020/03/05(木) 15:54:57 ID:zs+Uexwr(2/2) AAS
>>960
すいません気をつけます
>>961
理想通りできました
ありがとうございました!
963: デフォルトの名無しさん [sage] 2020/03/05(木) 16:30:55 ID:wTyki8t2(1/2) AAS
pythonはメジャーになって逆に環境構築に関してはひどい状況になったかもな。。
今正確にやるならdockerで閉じ込めろって話になるが、それ初心者には言えんわ。
964: デフォルトの名無しさん [sage] 2020/03/05(木) 19:06:49 ID:yi4ntJTq(1) AAS
dockerは厳しいわ
流行っているから本買って来て読んでみたけど
そもそも何をするソフトなのか、何の役に立つのかすら理解できなかった
965: デフォルトの名無しさん [sage] 2020/03/05(木) 19:21:28 ID:wTyki8t2(2/2) AAS
やっぱり最低限は環境変数とPATHは理解してもらってanaconda入れてPATH通すってやり方かなと思う。
最悪問題起きても環境変数とPATHがわかってればデバッグできるでしょ。
966(1): デフォルトの名無しさん [sage] 2020/03/05(木) 19:43:37 ID:D1lGE/tK(1) AAS
google も動かすまでが結構大変なんだよな
初心者には難しいかな
967: デフォルトの名無しさん [sage] 2020/03/05(木) 20:16:30 ID:dUqOCP9n(1) AAS
>>966
おまえのぐっぐるとはなんのことやらエスパーする余地がある
さすが、自然言語が不自由なスッドレだなw
968: デフォルトの名無しさん [sage] 2020/03/05(木) 20:26:45 ID:Fk1ZMAni(1/2) AAS
(200, 200) のnumpy配列を(1, 80, 80)にしたいです
お願いします
969: デフォルトの名無しさん [sage] 2020/03/05(木) 20:27:11 ID:Fk1ZMAni(2/2) AAS
間違えました
(200, 200) のnumpy配列を(1, 200, 200)にしたいです
お願いします
970: デフォルトの名無しさん [] 2020/03/05(木) 20:57:29 ID:s/vnmaxn(3/3) AAS
丸投げはやっとるん?
971: デフォルトの名無しさん [] 2020/03/05(木) 21:01:02 ID:fCV+9Bpk(1) AAS
np.expand_dims
972(4): デフォルトの名無しさん [] 2020/03/06(金) 03:11:42 ID:9EQdyE3d(1/2) AAS
python3で質問です
for i in list1:
if ("A" or "B") in str(i):
list2.append(i)
elif "C"==str(i) or "D"==str(i) or "E"==str(i):#←ここ
list3.append(i)
else:
list4.append(i)
というコードがあるのですが、#部分が汚いというか煩雑で困っています。
いずれは#部分の比較文字列が増える可能性があるので、例えば
("C" or "D" or "E")==str(i)
みたいな感じでスマートに書きたいです。(ちなみにこれだと最初のCしか比較されませんでした。。。)
#部分をどうしたらいいでしょうか?
また、最終的には#部分で比較する別ファイルからリスト型に取り出してぱーっと比較したいです
その場合のアルゴリズムも(ファイルの読み込み操作とかは不要です)できたらほしいです
973: 972 [] 2020/03/06(金) 03:14:05 ID:9EQdyE3d(2/2) AAS
http://codepad.org/QoncQu10
すみません、、、インデント崩れました
これです
974: デフォルトの名無しさん [sage] 2020/03/06(金) 03:40:12 ID:HMS8G3Kn(1) AAS
>>972
in演算子でいいじゃん
if 比較したい値 in 値の入ったリスト
975: デフォルトの名無しさん [] 2020/03/06(金) 03:41:39 ID:zMfd3B+p(1) AAS
そんなもんお前…
str(i) in ('C', 'D', 'E')
やろ
ところで、最初の
('A' or 'B') in str(i)
は想定通りに動作してないと思われる
'A' in str(i)
相当だから
もう少し演算子について正確に学んだ方がいい
976(1): デフォルトの名無しさん [] 2020/03/06(金) 06:32:33 ID:MUtvLxi6(1/2) AAS
文字列化すると"A" になるデータってどんなのかな
977: デフォルトの名無しさん [sage] 2020/03/06(金) 06:56:59 ID:qYlx8Qkc(1) AAS
>>976
ABO式血液型とカー?(ちょうてきとう)
978(1): デフォルトの名無しさん [sage] 2020/03/06(金) 07:06:27 ID:Z17kfdKR(1/2) AAS
>>972
別にifとelifをABCの数だけ並べてもいいでしょ?
スマートな書き方は慣れてからでもいいでしょ
>ぱーっと比較したい
後半は急に雑な説明になって
何がしたいかよく分からん?
979(1): デフォルトの名無しさん [sage] 2020/03/06(金) 08:46:55 ID:+VKnEuTi(1) AAS
>>978
>ぱーっと比較したい
俺、思うに、それが str(i) in ['C', 'D', 'E'....] のことじゃないのか
980: デフォルトの名無しさん [sage] 2020/03/06(金) 09:24:34 ID:6R/8Uuzj(1/2) AAS
>>972
リストの内容によってはこういう方法でもいける。
import re
list=["A","B","C","D","E","F"]
sList=",".join(list)
list2=list2+re.findall("[AB]",sList)
981(2): 972 [] 2020/03/06(金) 15:01:17 ID:yez0RtUo(1) AAS
>>979
これで#部分でやりたかったことが出来ました。
ありがとうございます
AとかBは簡略化のためで血液型とかじゃないです
比較する値(list1の各要素)には"ACC"みたいなものが来るようになっていて
Cが含まれていても”CX"みたいになっていたらelseに分岐させる感じの処理です
最初の部分の
if ('A' or 'B') in str(i):
も左をリストにして簡潔にしちゃいたいのですが
さっきのやり方(例えばif str(i) in ['A','B']:)だと"AA"とかがstr(i)に来たときに漏れてしまいます
str(i)にAかBが含まれているとき(例えばAB,AF,AA,BE)に分岐させる処理はどう書いたらいいでしょうか?
最初の
982(1): デフォルトの名無しさん [sage] 2020/03/06(金) 15:10:11 ID:6R/8Uuzj(2/2) AAS
なかなかの後出しだな。
単にA,Bが含まれるという条件なのか、A,Bから始まるのか、
C〜の文字列は絶対A,Bは含まないのかなど、細かい条件で全然違うぞ
983: デフォルトの名無しさん [sage] 2020/03/06(金) 16:29:59 ID:Z17kfdKR(2/2) AAS
>>981
一言でいうと処理対象の複雑さによって処理が異なる
もし文法構造を有しているならパース処理が必要になるが
字の配列だけの問題なら分岐だけで処理できる
フローチャート的なif文の分岐が基本中の基本だから
短く書くやり方は基本が分かってからにしよう
具体的には先頭から一字ずつ判断して行けばいい
先頭の文字がAの場合、Bの場合、
それぞれについて次の文字がAの場合、Bの場合……
ってif文をネストしていけば書けるはず
984(2): デフォルトの名無しさん [age] 2020/03/06(金) 18:02:59 ID:MP/8tjp8(1) AAS
pandasで以下のようなcsvファイルを読み込み、
burgers,meatballs,eggs
chutney
turkey,avocado
以下のような2次元配列に変換したいです。
[['burgers', 'meatballs', 'eggs'], ['chutney'], ['turkey', 'avocado']]
pandas.read_csv(..., heade=None).to_numpy().tolist()だとnanが含まれてしまいます。
for文でnan削除するよりスマートな方法はないでしょうか?
985: 972 [] 2020/03/06(金) 20:16:06 ID:9EOp8vfg(1/2) AAS
>>982
A,Bが含まれるという条件です
例えばAjsやskBfです
Cの文字列は絶対に含みません
後出しになっちゃって本当にすみません。。。
set()とか使って出来ないかなと思ってさっきも色々試したんですけどだめしでした。。。
986: デフォルトの名無しさん [sage] 2020/03/06(金) 20:45:36 ID:n2xpzai7(1/3) AAS
>>984
pandasじゃなくcsv.reader使ったのでよくない?
list(csv.reader(file))で意図した配列にできるよ
987: 984 [sage] 2020/03/06(金) 20:56:23 ID:MhiZvrbz(1) AAS
それでいいです。ありがとうございました。
988(1): デフォルトの名無しさん [sage] 2020/03/06(金) 20:57:39 ID:n2xpzai7(2/3) AAS
>>981
any(x in str(i) for x in ['A', ‘B’])
pythonの場合このケースは正規表現のほうがわかりやすいかもね
989: デフォルトの名無しさん [sage] 2020/03/06(金) 20:58:36 ID:n2xpzai7(3/3) AAS
あと、str()必要??
990: デフォルトの名無しさん [sage] 2020/03/06(金) 21:49:10 ID:gkPkCuAw(1) AAS
perlみたく安直には出来ないようになってるからね
if (/C|D|E/)
ショウガナイね
そもそも最近のワカモンは正規表現の存在自体知らないんだよ
本当に、聞いたことすらないんだよ
991(1): デフォルトの名無しさん [sage] 2020/03/06(金) 21:52:24 ID:gp44GQTA(1) AAS
正規表現はもう古すぎだよなあ
あんな暗号みたいなの覚えられんし方言もあるし
しかもデバッグが非常に難しい
992: デフォルトの名無しさん [sage] 2020/03/06(金) 21:56:09 ID:Fgd+2Xim(1) AAS
そんなあなたにRaku
993: デフォルトの名無しさん [sage] 2020/03/06(金) 22:12:28 ID:7d5kGJiP(1) AAS
正規表現使わずにプログラムするとかそっちのが苦痛だわ
994: デフォルトの名無しさん [] 2020/03/06(金) 23:07:37 ID:MUtvLxi6(2/2) AAS
>>972
プログラムで処理できる
完全なサンプルデータを示してほしい
995: 972 [] 2020/03/06(金) 23:29:13 ID:9EOp8vfg(2/2) AAS
>>988
すごいです。。。できました。。。
正規表現は一応貪欲なんとかとかかるーく使ったことある程度です
今回はうまくいけたのでヨシ!とします。。
any使ったことなかったので精進します
996: デフォルトの名無しさん [] 2020/03/07(土) 00:41:33 ID:k5ibAr7h(1) AAS
まず新スレ立てろデブ
2chスレ:tech
997: デフォルトの名無しさん [sage] 2020/03/07(土) 00:50:58 ID:CmL9X7tL(1) AAS
>>991
俺は自分が書いた正規表現ですら、後で見ると何にマッチするのかわからんってのが
あるからコメントが必須だからな。
すごい奴のすごい正規表現はもう何にマッチするのか文章の説明がないとさっぱりわからん
998: デフォルトの名無しさん [sage] 2020/03/07(土) 01:00:25 ID:AvLdWjOA(1) AAS
あれは魔術師の呪文と同じ
999: デフォルトの名無しさん [] 2020/03/07(土) 01:04:17 ID:k4ffI6Av(1/2) AAS
うまな
1000: デフォルトの名無しさん [] 2020/03/07(土) 01:04:29 ID:k4ffI6Av(2/2) AAS
うめ
1001(1): 1001 [] ID:Thread(1/2) AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 64日 9時間 7分 36秒
1002(1): 1002 [] ID:Thread(2/2) AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.587s*