[過去ログ]
くだすれPython(超初心者用) その46【Ruby禁止】 (1002レス)
くだすれPython(超初心者用) その46【Ruby禁止】 http://mevius.5ch.net/test/read.cgi/tech/1577948214/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
970: デフォルトの名無しさん [] 2020/03/05(木) 20:57:29.83 ID:s/vnmaxn 丸投げはやっとるん? http://mevius.5ch.net/test/read.cgi/tech/1577948214/970
971: デフォルトの名無しさん [] 2020/03/05(木) 21:01:02.49 ID:fCV+9Bpk np.expand_dims http://mevius.5ch.net/test/read.cgi/tech/1577948214/971
972: デフォルトの名無しさん [] 2020/03/06(金) 03:11:42.52 ID:9EQdyE3d 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しか比較されませんでした。。。) #部分をどうしたらいいでしょうか? また、最終的には#部分で比較する別ファイルからリスト型に取り出してぱーっと比較したいです その場合のアルゴリズムも(ファイルの読み込み操作とかは不要です)できたらほしいです http://mevius.5ch.net/test/read.cgi/tech/1577948214/972
973: 972 [] 2020/03/06(金) 03:14:05.66 ID:9EQdyE3d http://codepad.org/QoncQu10 すみません、、、インデント崩れました これです http://mevius.5ch.net/test/read.cgi/tech/1577948214/973
974: デフォルトの名無しさん [sage] 2020/03/06(金) 03:40:12.72 ID:HMS8G3Kn >>972 in演算子でいいじゃん if 比較したい値 in 値の入ったリスト http://mevius.5ch.net/test/read.cgi/tech/1577948214/974
975: デフォルトの名無しさん [] 2020/03/06(金) 03:41:39.25 ID:zMfd3B+p そんなもんお前… str(i) in ('C', 'D', 'E') やろ ところで、最初の ('A' or 'B') in str(i) は想定通りに動作してないと思われる 'A' in str(i) 相当だから もう少し演算子について正確に学んだ方がいい http://mevius.5ch.net/test/read.cgi/tech/1577948214/975
976: デフォルトの名無しさん [] 2020/03/06(金) 06:32:33.66 ID:MUtvLxi6 文字列化すると"A" になるデータってどんなのかな http://mevius.5ch.net/test/read.cgi/tech/1577948214/976
977: デフォルトの名無しさん [sage] 2020/03/06(金) 06:56:59.42 ID:qYlx8Qkc >>976 ABO式血液型とカー?(ちょうてきとう) http://mevius.5ch.net/test/read.cgi/tech/1577948214/977
978: デフォルトの名無しさん [sage] 2020/03/06(金) 07:06:27.86 ID:Z17kfdKR >>972 別にifとelifをABCの数だけ並べてもいいでしょ? スマートな書き方は慣れてからでもいいでしょ >ぱーっと比較したい 後半は急に雑な説明になって 何がしたいかよく分からん? http://mevius.5ch.net/test/read.cgi/tech/1577948214/978
979: デフォルトの名無しさん [sage] 2020/03/06(金) 08:46:55.47 ID:+VKnEuTi >>978 >ぱーっと比較したい 俺、思うに、それが str(i) in ['C', 'D', 'E'....] のことじゃないのか http://mevius.5ch.net/test/read.cgi/tech/1577948214/979
980: デフォルトの名無しさん [sage] 2020/03/06(金) 09:24:34.72 ID:6R/8Uuzj >>972 リストの内容によってはこういう方法でもいける。 import re list=["A","B","C","D","E","F"] sList=",".join(list) list2=list2+re.findall("[AB]",sList) http://mevius.5ch.net/test/read.cgi/tech/1577948214/980
981: 972 [] 2020/03/06(金) 15:01:17.68 ID:yez0RtUo >>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)に分岐させる処理はどう書いたらいいでしょうか? 最初の http://mevius.5ch.net/test/read.cgi/tech/1577948214/981
982: デフォルトの名無しさん [sage] 2020/03/06(金) 15:10:11.91 ID:6R/8Uuzj なかなかの後出しだな。 単にA,Bが含まれるという条件なのか、A,Bから始まるのか、 C〜の文字列は絶対A,Bは含まないのかなど、細かい条件で全然違うぞ http://mevius.5ch.net/test/read.cgi/tech/1577948214/982
983: デフォルトの名無しさん [sage] 2020/03/06(金) 16:29:59.27 ID:Z17kfdKR >>981 一言でいうと処理対象の複雑さによって処理が異なる もし文法構造を有しているならパース処理が必要になるが 字の配列だけの問題なら分岐だけで処理できる フローチャート的なif文の分岐が基本中の基本だから 短く書くやり方は基本が分かってからにしよう 具体的には先頭から一字ずつ判断して行けばいい 先頭の文字がAの場合、Bの場合、 それぞれについて次の文字がAの場合、Bの場合…… ってif文をネストしていけば書けるはず http://mevius.5ch.net/test/read.cgi/tech/1577948214/983
984: デフォルトの名無しさん [age] 2020/03/06(金) 18:02:59.48 ID:MP/8tjp8 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削除するよりスマートな方法はないでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1577948214/984
985: 972 [] 2020/03/06(金) 20:16:06.38 ID:9EOp8vfg >>982 A,Bが含まれるという条件です 例えばAjsやskBfです Cの文字列は絶対に含みません 後出しになっちゃって本当にすみません。。。 set()とか使って出来ないかなと思ってさっきも色々試したんですけどだめしでした。。。 http://mevius.5ch.net/test/read.cgi/tech/1577948214/985
986: デフォルトの名無しさん [sage] 2020/03/06(金) 20:45:36.78 ID:n2xpzai7 >>984 pandasじゃなくcsv.reader使ったのでよくない? list(csv.reader(file))で意図した配列にできるよ http://mevius.5ch.net/test/read.cgi/tech/1577948214/986
987: 984 [sage] 2020/03/06(金) 20:56:23.32 ID:MhiZvrbz それでいいです。ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1577948214/987
988: デフォルトの名無しさん [sage] 2020/03/06(金) 20:57:39.83 ID:n2xpzai7 >>981 any(x in str(i) for x in ['A', ‘B’]) pythonの場合このケースは正規表現のほうがわかりやすいかもね http://mevius.5ch.net/test/read.cgi/tech/1577948214/988
989: デフォルトの名無しさん [sage] 2020/03/06(金) 20:58:36.64 ID:n2xpzai7 あと、str()必要?? http://mevius.5ch.net/test/read.cgi/tech/1577948214/989
990: デフォルトの名無しさん [sage] 2020/03/06(金) 21:49:10.87 ID:gkPkCuAw perlみたく安直には出来ないようになってるからね if (/C|D|E/) ショウガナイね そもそも最近のワカモンは正規表現の存在自体知らないんだよ 本当に、聞いたことすらないんだよ http://mevius.5ch.net/test/read.cgi/tech/1577948214/990
991: デフォルトの名無しさん [sage] 2020/03/06(金) 21:52:24.21 ID:gp44GQTA 正規表現はもう古すぎだよなあ あんな暗号みたいなの覚えられんし方言もあるし しかもデバッグが非常に難しい http://mevius.5ch.net/test/read.cgi/tech/1577948214/991
992: デフォルトの名無しさん [sage] 2020/03/06(金) 21:56:09.57 ID:Fgd+2Xim そんなあなたにRaku http://mevius.5ch.net/test/read.cgi/tech/1577948214/992
993: デフォルトの名無しさん [sage] 2020/03/06(金) 22:12:28.48 ID:7d5kGJiP 正規表現使わずにプログラムするとかそっちのが苦痛だわ http://mevius.5ch.net/test/read.cgi/tech/1577948214/993
994: デフォルトの名無しさん [] 2020/03/06(金) 23:07:37.81 ID:MUtvLxi6 >>972 プログラムで処理できる 完全なサンプルデータを示してほしい http://mevius.5ch.net/test/read.cgi/tech/1577948214/994
995: 972 [] 2020/03/06(金) 23:29:13.41 ID:9EOp8vfg >>988 すごいです。。。できました。。。 正規表現は一応貪欲なんとかとかかるーく使ったことある程度です 今回はうまくいけたのでヨシ!とします。。 any使ったことなかったので精進します http://mevius.5ch.net/test/read.cgi/tech/1577948214/995
996: デフォルトの名無しさん [] 2020/03/07(土) 00:41:33.17 ID:k5ibAr7h まず新スレ立てろデブ https://mevius.5ch.net/test/read.cgi/tech/1583509252/ http://mevius.5ch.net/test/read.cgi/tech/1577948214/996
997: デフォルトの名無しさん [sage] 2020/03/07(土) 00:50:58.92 ID:CmL9X7tL >>991 俺は自分が書いた正規表現ですら、後で見ると何にマッチするのかわからんってのが あるからコメントが必須だからな。 すごい奴のすごい正規表現はもう何にマッチするのか文章の説明がないとさっぱりわからん http://mevius.5ch.net/test/read.cgi/tech/1577948214/997
998: デフォルトの名無しさん [sage] 2020/03/07(土) 01:00:25.56 ID:AvLdWjOA あれは魔術師の呪文と同じ http://mevius.5ch.net/test/read.cgi/tech/1577948214/998
999: デフォルトの名無しさん [] 2020/03/07(土) 01:04:17.34 ID:k4ffI6Av うまな http://mevius.5ch.net/test/read.cgi/tech/1577948214/999
1000: デフォルトの名無しさん [] 2020/03/07(土) 01:04:29.33 ID:k4ffI6Av うめ http://mevius.5ch.net/test/read.cgi/tech/1577948214/1000
1001: 1001 [] ID:Thread このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 64日 9時間 7分 36秒 http://mevius.5ch.net/test/read.cgi/tech/1577948214/1001
1002: 1002 [] ID:Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ https://premium.5ch.net/ ▼ 浪人ログインはこちら ▼ https://login.5ch.net/login.php http://mevius.5ch.net/test/read.cgi/tech/1577948214/1002
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s