[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/30 19:48 / Filesize : 277 KB / Number-of Response : 1011
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その46【Ruby禁止】



1 名前:デフォルトの名無しさん [2020/01/02(木) 15:56:54.08 ID:ZUrZA+uS.net]
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
  スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう

◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
  実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。

◇Python公式サイト◇ www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/

985 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 06:56:59.42 ID:qYlx8Qkc.net]
>>977
ABO式血液型とカー?(ちょうてきとう)

986 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 07:06:27.86 ID:Z17kfdKR.net]
>>973
別にifとelifをABCの数だけ並べてもいいでしょ?
スマートな書き方は慣れてからでもいいでしょ

>ぱーっと比較したい
後半は急に雑な説明になって
何がしたいかよく分からん?

987 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 08:46:55.47 ID:+VKnEuTi.net]
>>979
>ぱーっと比較したい
俺、思うに、それが str(i) in ['C', 'D', 'E'....] のことじゃないのか

988 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 09:24:34.72 ID:6R/8Uuzj.net]
>>973
リストの内容によってはこういう方法でもいける。
import re
list=["A","B","C","D","E","F"]
sList=",".join(list)
list2=list2+re.findall("[AB]",sList)

989 名前:972 [2020/03/06(金) 15:01:17.68 ID:yez0RtUo.net]
>>980
これで#部分でやりたかったことが出来ました。
ありがとうございます
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)に分岐させる処理はどう書いたらいいでしょうか?
最初の

990 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 15:10:11 ID:6R/8Uuzj.net]
なかなかの後出しだな。

単にA,Bが含まれるという条件なのか、A,Bから始まるのか、
C〜の文字列は絶対A,Bは含まないのかなど、細かい条件で全然違うぞ

991 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 16:29:59 ID:Z17kfdKR.net]
>>982
一言でいうと処理対象の複雑さによって処理が異なる
もし文法構造を有しているならパース処理が必要になるが
字の配列だけの問題なら分岐だけで処理できる

フローチャート的なif文の分岐が基本中の基本だから
短く書くやり方は基本が分かってからにしよう
具体的には先頭から一字ずつ判断して行けばいい

先頭の文字がAの場合、Bの場合、
それぞれについて次の文字がAの場合、Bの場合……
ってif文をネストしていけば書けるはず

992 名前:デフォルトの名無しさん mailto:age [2020/03/06(金) 18:02:59.48 ID:MP/8tjp8.net]
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削除するよりスマートな方法はないでしょうか?

993 名前:972 [2020/03/06(金) 20:16:06 ID:9EOp8vfg.net]
>>983
A,Bが含まれるという条件です
例えばAjsやskBfです
Cの文字列は絶対に含みません

後出しになっちゃって本当にすみません。。。

set()とか使って出来ないかなと思ってさっきも色々試したんですけどだめしでした。。。



994 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 20:45:36.78 ID:n2xpzai7.net]
>>985
pandasじゃなくcsv.reader使ったのでよくない?
list(csv.reader(file))で意図した配列にできるよ

995 名前:984 mailto:sage [2020/03/06(金) 20:56:23 ID:MhiZvrbz.net]
それでいいです。ありがとうございました。

996 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 20:57:39 ID:n2xpzai7.net]
>>982
any(x in str(i) for x in ['A', ‘B’])
pythonの場合このケースは正規表現のほうがわかりやすいかもね

997 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 20:58:36 ID:n2xpzai7.net]
あと、str()必要??

998 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 21:49:10.87 ID:gkPkCuAw.net]
perlみたく安直には出来ないようになってるからね
if (/C|D|E/)
ショウガナイね

そもそも最近のワカモンは正規表現の存在自体知らないんだよ
本当に、聞いたことすらないんだよ

999 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 21:52:24.21 ID:gp44GQTA.net]
正規表現はもう古すぎだよなあ
あんな暗号みたいなの覚えられんし方言もあるし
しかもデバッグが非常に難しい

1000 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 21:56:09.57 ID:Fgd+2Xim.net]
そんなあなたにRaku

1001 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 22:12:28.48 ID:7d5kGJiP.net]
正規表現使わずにプログラムするとかそっちのが苦痛だわ

1002 名前:デフォルトの名無しさん [2020/03/06(金) 23:07:37.81 ID:MUtvLxi6.net]
>>973
プログラムで処理できる
完全なサンプルデータを示してほしい

1003 名前:972 [2020/03/06(金) 23:29:13 ID:9EOp8vfg.net]
>>989
すごいです。。。できました。。。

正規表現は一応貪欲なんとかとかかるーく使ったことある程度です
今回はうまくいけたのでヨシ!とします。。

any使ったことなかったので精進します



1004 名前:デフォルトの名無しさん [2020/03/07(土) 00:41:33.17 ID:k5ibAr7h.net]
まず新スレ立てろデブ
https://mevius.5ch.net/test/read.cgi/tech/1583509252/

1005 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 00:50:58.92 ID:CmL9X7tL.net]
>>992
俺は自分が書いた正規表現ですら、後で見ると何にマッチするのかわからんってのが
あるからコメントが必須だからな。
すごい奴のすごい正規表現はもう何にマッチするのか文章の説明がないとさっぱりわからん

1006 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 01:00:25.56 ID:AvLdWjOA.net]
あれは魔術師の呪文と同じ

1007 名前:デフォルトの名無しさん [2020/03/07(土) 01:04:17.34 ID:k4ffI6Av.net]
うまな

1008 名前:デフォルトの名無しさん [2020/03/07(土) 01:04:29.33 ID:k4ffI6Av.net]
うめ

1009 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 64日 9時間 7分 36秒

1010 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<277KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef