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

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2020/01/02(木) 15:56:54.08ID:ZUrZA+uS
当スレに★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公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/

〇前スレ〇
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1571188632/
2020/02/24(月) 01:07:21.07ID:EuMvh8nX
>>873
玉ねぎ以外、例えば、たまねぎ、タマネギ、玉葱などは駄目(0点)なのか
りんごも同様にりんご以外は駄目なのか
2020/02/24(月) 01:52:00.30ID:9Kd/PSPa
>>864
お前的には「>>856は一貫性がある」と言うことでいいのね
それって人とはかなり違う感性だから会話するのは難しいと思うぞw
2020/02/24(月) 02:57:11.84ID:mxVLP7kg
よーしパパ縦タブでPython書いちゃうぞー!
2020/02/24(月) 08:50:50.41ID:vb10EdOX
>>879 横レスだが・・・
( ゚o゚)ハッ!!!
そういえば、そうだwww
ニホンゴハトテモムズカシイネー
883デフォルトの名無しさん
垢版 |
2020/02/24(月) 13:47:09.95ID:/24zPZsT
>>844
>A,B,...G...は全て(n,n,n,1)の形をしています。
これは例えばこういうこと?
import numpy as np
A= np.arange(8).reshape((2,2,2,1))
print(A.tolist())

[[[[0], [1]], [[2], [3]]], [[[4], [5]], [[6], [7]]]]
2020/02/24(月) 17:02:41.23ID:CIjc5zGo
n=10のときで頼む
2020/02/26(水) 08:30:44.63ID:MVR+lhT1
f文字で改行する場合はどうしたら良いのでしょうか?

> f'hello \n{hoge}'

上記のようにすると\nがそのまま出力されてしまうのですが
886デフォルトの名無しさん
垢版 |
2020/02/26(水) 08:35:41.43ID:MVR+lhT1
>>885
すみません
f文字にrを追加した場合、改行コードがそのまま出力されてしまうの間違いでした

> fr'hello \n{hoge}'
2020/02/26(水) 09:15:01.47ID:tNUOa1QH
print(r'''>>886 \nそれぐらい
ググれ カス''')
888デフォルトの名無しさん
垢版 |
2020/02/26(水) 11:19:23.96ID:wiEfavJ1
r付けるなよω
2020/02/26(水) 11:30:34.21ID:fe8YPe+s
修正しました

pint('''>>886 \nそれぐらいググれ カス''')
2020/02/26(水) 11:42:23.29ID:tTxVb/IM
pintが外れた
891デフォルトの名無しさん
垢版 |
2020/02/26(水) 11:58:06.05ID:hHwy7uag
アホ草
2020/02/27(木) 00:47:35.59ID:PK1Y55xx
標準モジュールのreってなんでマッチした文字列を返すメソッドがgroup()なの?
どういう意味?
2020/02/27(木) 05:25:20.18ID:Y+lBo+rc
>>892
言語を作ったやつらに聞け
俺らはただのユーザーだ
2020/02/27(木) 08:58:40.02ID:gp31hmMe
s///g;

の名残りだろ
2020/02/27(木) 11:05:33.77ID:jJI4a3AF
「if分が多いと見難いです
三項演算子を使うといいです」
https://techacademy.jp/magazine/28098

みたいな記事を読んでたんだけど三項演算子ってわかりやすいのかな?
適切な場面とそうでない場面がありそうだけどよくわからん
2020/02/27(木) 11:12:20.92ID:xfrOpzJC
VBの書き方か
897デフォルトの名無しさん
垢版 |
2020/02/27(木) 12:33:47.54ID:gBw0J9MB
目を動かす量が減るから簡単な分岐なら参考演算しでいいよな
2020/02/27(木) 12:47:41.42ID:G3iz3let
中身が3,4文字なら見やすくなるがめちゃくちゃ長いのに3項演算とか馬鹿としか言いようがない。
2020/02/27(木) 13:36:25.25ID:j46qIfAH
基本的に読みにくい
Python以外でも 条件 ? 真 : 偽 って書く言語のも読みにくい
普通にif 条件 then 真 else 偽 が式になる関数型言語のは読みやすい
分岐はifが頭にある方が圧倒的に読みやすい
2020/02/27(木) 14:06:29.14ID:9dlETTA2
>>892
capture groupのgroupだよ
match全体を結果配列の最初の要素に格納するのは多くの言語で行われてる
group(0)という命名センスは・・・まあ・・ね? pythonだから
2020/02/27(木) 14:23:14.28ID:9dlETTA2
>>899
pythonの三項式が読みにくいのは当然だけど
Cの記法が読みにくいかどうかは命名と慣れと抽象化次第

foo = if is_hage then hoge else fuga
foo = is_hage ? hoge : fuga

pythonに三項式が取り入れられる際の投票結果を見ても
今の記法はもちろんif 条件 then 真 else 偽の記法よりも
条件 ? 真 : 偽 のほうが支持されてたことが分かる
902デフォルトの名無しさん
垢版 |
2020/02/27(木) 15:30:14.64ID:G6pyHvdg
>>892
findall使え
903デフォルトの名無しさん
垢版 |
2020/02/27(木) 15:31:40.73ID:G6pyHvdg
>>894
s///gのgもgrepのgもpythonのgroupとは無関係
904デフォルトの名無しさん
垢版 |
2020/02/27(木) 15:34:26.29ID:G6pyHvdg
>>901
pythonの三項演算子は表記は違うけど書く順はCと一緒だし困らない
慣れだけの問題
2020/02/27(木) 16:34:42.20ID:r1k8T+E3
>>904
一緒じゃなくない?
flag ? "true" : "false"
'True’ if flag else ‘False’
906デフォルトの名無しさん
垢版 |
2020/02/27(木) 16:37:07.47ID:G6pyHvdg
細かいことは気にすんな
907デフォルトの名無しさん
垢版 |
2020/02/27(木) 18:08:21.56ID:RRBu+1LX
>>895
三項演算子うんぬん以前に、文字列と予約語(if)との間や二項演算子の前後に
空白を置かないという、初心者にありがちな可読性を低下させる誤りがある
この田島悠介という現役エンジニアの技術レベルがその程度であり、
おそらくTechAcademyマガジンというサイトもそんなレベルの記事で
溢れているであろうことは、容易に予測できる

もし自分がPythonで三項演算子を使うなら、以下のように書く
  https://www.ideone.com/gOE9K0
後置if節とでも言えばいいのか、Haskellのガード式をイメージしている


>>899
関数型言語ではないが、スレタイの某言語だと以下のように書ける
 https://www.ideone.com/uy4Baa
 
908デフォルトの名無しさん
垢版 |
2020/02/27(木) 19:10:02.18ID:x1hy167u
>>904
909デフォルトの名無しさん
垢版 |
2020/02/27(木) 20:53:30.14ID:b5CXYagp
https://www.ideone.com/d1O8k6
910デフォルトの名無しさん
垢版 |
2020/02/27(木) 21:11:54.40ID:oAIJ90KI
>>895
条件によって値を返すだけなら
Excelのワークシート関数のif関数みたいなのが
個人的には1番わかりやすい
2020/02/27(木) 22:06:26.96ID:F/P7X7F7
ループでぐるぐるまわしてて
4の倍数の時は3をたすってのはどうしたらいいですか
それ以外のときはそれぞれ別々にやる計算あります

あとpythonの質問するところってここしか知らないですが
他にもありますか?
2020/02/27(木) 22:39:54.31ID:ZhdluG0Q
>>911
非コミュ障害、知能が低くないなら、ここよりTeratailにしたほうが良いが
でも、お前はコミュ障害もち、知能低い感じで一般の奴らからは相手にされないだろう。
結局、基地外、ゆとり、低脳の掲示板である5chぐらいしかお前の相手をしてくれないよ
2020/02/27(木) 22:41:29.91ID:W1ryAU1b
>>911
しゅくだいの わからないところは
だすひがくるより だいぶさきに
せんせいに きいてね!
2020/02/27(木) 22:43:31.64ID:IKP0YcdJ
pandasで2つのキーを指定してcsvファイルを結合したいのですが、可能でしょうか?

列Aが一致する範囲内で列Bを軸に2つのファイルを結合
pd.merge(df1, df2, on=['列A', '列B'], how='outer') としたところ、シャッフルして変になりました
2020/02/27(木) 22:45:57.22ID:F/P7X7F7
>>912
仕方がないですがあなたもお仲間ですね
2020/02/27(木) 22:50:12.13ID:W1ryAU1b
>>914
なにがどう「変に」と感じたのかしらんが
↓あたりのhowについてのところ + joinについてのところでもよんでみればー
ttps://note.nkmk.me/python-pandas-merge-join/
2020/02/27(木) 22:53:16.74ID:F/P7X7F7
4の倍数でっていうのは

if n%4 == 0:
____b=a+3
else:
____b=a

みたいなのじゃなくて
if使わなくてもa+3に
なにか足すと四の倍数の時にだけ3を足すような
のがあるかどうか知りたかったのです
説明不足ですいませんでした
2020/02/27(木) 22:55:49.15ID:0yCkEhTI
pythonの環境構築が難しすぎる
3系で動かそうとしたら、デフォで入ってる2系が動いてる
vagrantでsyncフォルダにScrapyのプロジェクト作ろうとしたらエラー吐くし
諦めてdjangoで糞アプリ作ってる
pythonはライブラリが豊富だから魅力的なんだけど、今の活かせてない
919デフォルトの名無しさん
垢版 |
2020/02/27(木) 23:09:00.44ID:mQGc2SMz
>>911
その日本語をそのままコードに翻訳するだけ
2020/02/27(木) 23:22:44.86ID:9dlETTA2
>>907
>関数型言語ではないが、スレタイの某言語だと以下のように書ける
そのケースは普通case文使うやろ
https://www.ideone.com/7jQ3Tb

>>909
ぱっと見わかりやすそうに見えるけど
自然な思考順序に反してるからすごく可読性が低いんよね
2020/02/27(木) 23:28:37.71ID:j46qIfAH
>>917
やらんほうがいいけど
a + 3 * (n % 4 == 0)
みたいなのは書けるが
2020/02/27(木) 23:48:16.79ID:EmRw8gIY
>>901
なんでそれが通ったか逆に不思議だよな。
後置ifとも他の三項演算子とも似てるようで違うキモい文法。
2020/02/28(金) 00:00:23.47ID:CBzuDuio
>>921
ありがとうございます
a+3*[1,0,0,0][n%4]というのも考えましたが
やらない方が良いですか?
ifが来た方がやっぱり良いんでしょうか?
2020/02/28(金) 00:12:19.37ID:DkMBLb2P
>>923
自分だけが見るんなら何やってもいいけど人が見る可能性あるなら正直読みにくいし
無駄なハックは自分がやるならいいけど他人がやってるの見るとイラッとする
人ってそういうもんだし
ただそうやってコードで遊ぶのは勉強としてはとてもいい
2020/02/28(金) 01:04:06.55ID:CBzuDuio
>>924
ありがとうございます
よっぽどの事情がない限り
無理やりifを無くす事はやめときます
926デフォルトの名無しさん
垢版 |
2020/02/28(金) 01:33:44.99ID:mVRkB3jj
>>922
内包表記とか関係あるのかな
2020/02/28(金) 02:17:43.60ID:xXr38fg8
>>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.06ID:JX0D/Sej
ちゃんとメーリスから議論を拾ってくる有能
2020/02/28(金) 13:49:30.68ID:GfVfgYuK
>>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
2020/02/28(金) 23:30:10.54ID:/I0WWb67
pyenv導入したいんですがいくつか疑問があります
まず、既にエイリアスに
python="/usr/local/bin/python3"
python2="/usr/bin/python"
という風に設定してるんですが、pyenv導入する場合はこれは外さないとまずいですかね?
そして既に入れてるpipのライブラリはpyenvの方のPythonでも使えるんでしょうか。
最初の導入ばかりでこの辺りの説明してるサイトが全然見つかりませんでした
もし良ければ回答お願いします。
2020/02/29(土) 11:11:22.64ID:VOzt624K
とりあえずは外したほうがよい。
というか二重三重の設定をメンテするなんて大変だろ?
pyenv自体はそこらへんのエイリアスをいい感じにやるだけだから
pipも普通に使えるし変わらんよ。
ただ、いろいろ環境がわからなくなることはよくある。
個人的にanacondaにパス通す方がよっぽど事故が少ないんだが、
公式原理主義者はどうも納得しないぽい。
2020/02/29(土) 11:17:08.59ID:i8bha/XW
もうPythonの環境周りは滅茶苦茶だね
初心者は環境構築だけで丸一日費やして嫌になってやめていく
普及したことが皮肉にも普及の妨げになっている
933デフォルトの名無しさん
垢版 |
2020/02/29(土) 11:58:39.68ID:KnuPGJb+
仮想環境が当たり前みたいな記事ばっか書いてるアホどものせいだろ
全員電ノコで4ツ切りにして海に捨てたい
2020/02/29(土) 12:07:24.22ID:4aY82yvr
venvもつかえんザコとかおるの?
無視しても良いんじゃね
2020/02/29(土) 12:54:53.32ID:PDnkp16t
困ってる奴が何のos使ってるのか知らんが、windowsならpathを弄れば何とかなる
俺も勉強のために最新入れてインタラクティブモードでpython起動したら2.7(?)とかだった
cドライブをpython.exeで検索したら20件ぐらい出てきて色んなアプリでpythonが使われていた
仕方がないので自分が意図してインストールしたpythonのpathを一番先頭に持っていったら
自分が意図してインストールしたpython.exeを起動できた
936デフォルトの名無しさん
垢版 |
2020/02/29(土) 13:00:09.94ID:x6UuZEs8
C#+Visual Studioが至高
937デフォルトの名無しさん
垢版 |
2020/02/29(土) 13:10:46.26ID:/XxbCwlB
>>931
ありがとうございます!
2系と3系を同時に使いたいんですがそれはもう毎回切り替えるしか手がないんですかね?
2020/02/29(土) 13:42:38.05ID:i8bha/XW
>>934
**envというプロダクトが多すぎて検索しただけで萎える
しかも廃れた古いものもヒットするので、全くの新規さんが独学でやるには二重の苦難だろう
こんなんじゃPythonの未来は暗いと感じる
939デフォルトの名無しさん
垢版 |
2020/02/29(土) 13:54:03.49ID:3sltTQiA
>>931
ほんそれ
940デフォルトの名無しさん
垢版 |
2020/02/29(土) 13:56:01.85ID:3sltTQiA
>>937
切り替えるんじゃなくて
どっちの設定もしない
コンソールを開いてから
どっちを使うか選択(コマンド実行)
941デフォルトの名無しさん
垢版 |
2020/02/29(土) 13:57:46.01ID:3sltTQiA
ちょっと判りにくかったかもしれんが
要するに混ぜるなってこと

両方入ってるのは問題無い
環境を混ぜるのが問題
2020/02/29(土) 14:17:00.97ID:xglx3xdS
>>937
Win系なら、両方入ってる場合は
pythonとうったら2系
pyとうったら3系
がデフォやぞ

.pyをダブルクリックで実行したい ってのはかなわぬ願い
バッチかませろ
2020/02/29(土) 14:26:25.10ID:6BfVplee
winもpyに.py関連付けてたらshebang書けば使い分け出来るで
2020/02/29(土) 14:36:00.26ID:/XxbCwlB
>>941
ありがとうございます、とりあえず言われた通りコマンドで選択してみます。
後言い忘れてましたがOSはMacです…エイリアスで色々やってるのはpythonコマンド
だと2系が自動で選択されるからです。環境描き忘れててすみません。
2020/02/29(土) 14:45:21.95ID:xglx3xdS
>>944 なんというぐうくそ
2020/02/29(土) 23:48:35.12ID:6IdZMwnf
>>935
パスの順番を変えたら、他のアプリが動かなくなるけど、それは良いのか?

>>944
Mac は最初から、Python, Ruby が入っているから、その環境に影響を与えるとまずい。
それらを使っているアプリがあるから

だから、仮想を使う

Docker も良いかも
947デフォルトの名無しさん
垢版 |
2020/03/03(火) 09:40:24.54ID:Zy/UEfGJ
seleniumにてfirefoxの既存のプロファイルを使用する方法はありませんでしょうか?
どうにも既存のプロファイルを読み込まなく難儀しています...
948デフォルトの名無しさん
垢版 |
2020/03/03(火) 09:43:07.58ID:Zy/UEfGJ
コードはたったコレだけなんですが全くといいほど読み込みません

from selenium import webdriver

fp = webdriver.FirefoxProfile('/home/user1/.mozilla/firefox/zaxxxxxt.default')
browser = webdriver.Firefox(fp)
2020/03/03(火) 11:13:11.66ID:GznFhYco
>>947-948
https://techiedelight.com/compiler/?ScFS
↑ここにかんすうはってきたので
fp = get_profile_path("default")
こうやってさがさせてみそ

それでも、なんでかうまく読まないことあるけど。。。

あと、基本的なところだが、
geckodriverのバージョンが古いと失敗すること多い。
2020/03/04(水) 02:21:30.44ID:n/osJUKI
>>949
ありがとうございます

fp = get_profile_path("default")
browser = webdriver.Firefox(fp,executable_path=’場所')

作って頂いた関数を使用したのですが、やはり新規プロファイルを読み込まれ既存のプロファイルが読み込まれません
Chromeでは既存のプロファイルが読み込まれるのですが、如何せんChromeではmeta refreshをdisable出来ないため
firefoxを利用したいのです
プロファイルの場所は初期値 geckodriverは0.26.0なので問題ないと思うのですが…
2020/03/04(水) 12:59:09.91ID:Q2O9cj6l
>>950
プロファイルの場所探すところを改造せんといかんのかもしらん

泥臭いやりかただと、
ターゲットフォルダの中身全部をリストにして
.defaultで終わってるものをとる。みつかったらbreak

みたいなー
952デフォルトの名無しさん
垢版 |
2020/03/04(水) 19:58:03.24ID:fq3DQX8J
>>932
アナコンダインストール一発ではだめなの?
953デフォルトの名無しさん
垢版 |
2020/03/04(水) 20:13:57.82ID:O0VNA921
駄目に決まってんだろアホ
お前だろ「Anacondaをインストールする2020最新」とかいうアマゾンの中華製品みたいな信用度の記事Qiitaに書きまくってるゴミは
2020/03/04(水) 23:19:20.62ID:nNNW6i++
Anaconda は、Python が入っていない、Windows 限定

Mac, Linux など、最初から、Pythonが入っているものについては、
初心者には無理なので、プロに聞いてくださいと、
「みんなのPython 第4版、2017」にも、書いてある

つまり、最初から入っている、Pythonと両立させるのは、仮想が必要だから、難しい
2020/03/05(木) 04:04:41.17ID:eClduRvk
つまりPythonを使うならWindowsという時代が来たということだな
最初からPythonを入れてシステム的に依存する仕組みにしたLinux系は下手打ったよなあ
956デフォルトの名無しさん
垢版 |
2020/03/05(木) 07:16:32.77ID:s/vnmaxn
システムとは別にPythonいれてそっち使えばいいやん
仮想可は実行環境だからまた別の話
957954
垢版 |
2020/03/05(木) 08:01:54.80ID:PBcHTAfh
仮想環境は、Ruby のrbenv・RVM とか、Python のvenv とか、
これが素人には難しすぎるから、入門書には書いていない!

Mac・Linux では、仮想環境になる
958デフォルトの名無しさん
垢版 |
2020/03/05(木) 12:41:11.27ID:s/vnmaxn
>>956
>仮想可
じゃなくて、仮想環境でした
959デフォルトの名無しさん
垢版 |
2020/03/05(木) 15:08:38.13ID:zs+Uexwr
超初心者です
100回動作を繰り返すとします
繰り返しn回目でn回〇〇するといった場合どう記述すればいいんですかね?
たとえば30回目の動作で30回ボタンを押す、55回目で55回ボタンを押すというような感じです
2020/03/05(木) 15:15:03.78ID:CNNRfBpe
それ、pythonの質問じゃなくてどうプログラムしたら良いのかの
プログラミング自体の質問だから
自分で考えなさい
961デフォルトの名無しさん
垢版 |
2020/03/05(木) 15:20:01.54ID:ZS+YL4ip
>>959
for n in range(100):
 for i in range(n):
  doSomething()
962デフォルトの名無しさん
垢版 |
2020/03/05(木) 15:54:57.40ID:zs+Uexwr
>>960
すいません気をつけます

>>961
理想通りできました
ありがとうございました!
2020/03/05(木) 16:30:55.23ID:wTyki8t2
pythonはメジャーになって逆に環境構築に関してはひどい状況になったかもな。。
今正確にやるならdockerで閉じ込めろって話になるが、それ初心者には言えんわ。
2020/03/05(木) 19:06:49.16ID:yi4ntJTq
dockerは厳しいわ
流行っているから本買って来て読んでみたけど
そもそも何をするソフトなのか、何の役に立つのかすら理解できなかった
2020/03/05(木) 19:21:28.75ID:wTyki8t2
やっぱり最低限は環境変数とPATHは理解してもらってanaconda入れてPATH通すってやり方かなと思う。
最悪問題起きても環境変数とPATHがわかってればデバッグできるでしょ。
2020/03/05(木) 19:43:37.44ID:D1lGE/tK
google も動かすまでが結構大変なんだよな
初心者には難しいかな
2020/03/05(木) 20:16:30.47ID:dUqOCP9n
>>966
おまえのぐっぐるとはなんのことやらエスパーする余地がある

さすが、自然言語が不自由なスッドレだなw
2020/03/05(木) 20:26:45.66ID:Fk1ZMAni
(200, 200) のnumpy配列を(1, 80, 80)にしたいです
お願いします
2020/03/05(木) 20:27:11.49ID:Fk1ZMAni
間違えました
(200, 200) のnumpy配列を(1, 200, 200)にしたいです
お願いします
970デフォルトの名無しさん
垢版 |
2020/03/05(木) 20:57:29.83ID:s/vnmaxn
丸投げはやっとるん?
971デフォルトの名無しさん
垢版 |
2020/03/05(木) 21:01:02.49ID:fCV+9Bpk
np.expand_dims
972デフォルトの名無しさん
垢版 |
2020/03/06(金) 03:11:42.52ID: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しか比較されませんでした。。。)

#部分をどうしたらいいでしょうか?

また、最終的には#部分で比較する別ファイルからリスト型に取り出してぱーっと比較したいです
その場合のアルゴリズムも(ファイルの読み込み操作とかは不要です)できたらほしいです
973972
垢版 |
2020/03/06(金) 03:14:05.66ID:9EQdyE3d
http://codepad.org/QoncQu10
すみません、、、インデント崩れました
これです
2020/03/06(金) 03:40:12.72ID:HMS8G3Kn
>>972
in演算子でいいじゃん
if 比較したい値 in 値の入ったリスト
975デフォルトの名無しさん
垢版 |
2020/03/06(金) 03:41:39.25ID:zMfd3B+p
そんなもんお前…
str(i) in ('C', 'D', 'E')
やろ

ところで、最初の
('A' or 'B') in str(i)
は想定通りに動作してないと思われる
'A' in str(i)
相当だから
もう少し演算子について正確に学んだ方がいい
976デフォルトの名無しさん
垢版 |
2020/03/06(金) 06:32:33.66ID:MUtvLxi6
文字列化すると"A" になるデータってどんなのかな
2020/03/06(金) 06:56:59.42ID:qYlx8Qkc
>>976
ABO式血液型とカー?(ちょうてきとう)
2020/03/06(金) 07:06:27.86ID:Z17kfdKR
>>972
別にifとelifをABCの数だけ並べてもいいでしょ?
スマートな書き方は慣れてからでもいいでしょ

>ぱーっと比較したい
後半は急に雑な説明になって
何がしたいかよく分からん?
2020/03/06(金) 08:46:55.47ID:+VKnEuTi
>>978
>ぱーっと比較したい
俺、思うに、それが str(i) in ['C', 'D', 'E'....] のことじゃないのか
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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