1 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 20:18:42.82 ID:iOcRvNll.net] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その35 mevius.5ch.net/test/read.cgi/tech/1496411341/ VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
174 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 10:57:53.60 ID:4kMWbC/A.net] >>163 なるほど 500件くらいをランダム抽出してzscore処理してテストにかけたら通りました(kstestも) とりあえず全容が既知なデータのヒストグラムが単峰なら標準化すっぞの精神でやってみます
175 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 12:49:40.49 ID:BUY2Z6FB.net] >>161 virtualboxにインストールしたbodhi linuxでatomを使っている
176 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 13:00:32.45 ID:BUY2Z6FB.net] pycharmは去年10月にインスコして日本語化にも成功したけど使ってないな linuxで使うプログラムを書いてるから開発もlinuxだといろいろと面倒がないので 日本語化の方法も忘れたけどブラウザの履歴からするとここを参考にしたんじゃないかと思う https://niwakai.blogspot.jp/2017/06/pythonpycharmpycharm.html
177 名前:遊園地 mailto:sage [2018/01/24(水) 14:02:39.55 ID:FoNcQYJD.net] あほ草www あほがwカッコつけてやらない言い訳してて草www 興味有るなら、「俺にはできないww○○ないの?」とか、言わずに調べレバーwwww
178 名前:デフォルトの名無しさん [2018/01/24(水) 14:29:07.07 ID:vECYoCmi.net] >>165 www.itmedia.co.jp/news/articles/1801/24/news070.html
179 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 14:30:10.97 ID:rmiiP9Om.net] お前が行く保健所なら調べてやってもいいけどどうする?
180 名前:遊園地 mailto:sage [2018/01/24(水) 15:44:22.97 ID:FoNcQYJD.net] 「ほえーー!!」 ( ゚д゚)「ほえーーーー!!」 ムキになってwww 問題を先送りwww wwwお前は一生できないwww ぶひいいいいいいいいいいwwwww ┌(_Д_┌ )┐
181 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 21:01:24.74 ID:VAanax0e.net] 保健所より屠殺場の方がいいよ
182 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 22:52:45.22 ID:imY+jhW1.net] データは見てないけど、上限下限があるので正規確率プロット上でtan(x)みたいな形になるはず。正規分布ならどこまでも直線。 ちな、厚労省の統計情報で男性の25歳くらいだと平均66kg 標準偏差9kg くらい 30000でざっくり4σなので±36kg、102kgはいそうだけど30kgはまずいないだろう。下は-1σあたりからガクッと下がるんじゃないかな。
183 名前:遊園地 mailto:sage [2018/01/24(水) 23:11:52.45 ID:FoNcQYJD.net] 超底辺レベルだからwww 分布グラフも体重統計データも作れないとかww カス杉www 頭が可哀想wwww 一行文章投稿する文字数でggったら出て来るのにwww 無能はコピペもすらできないwwww 脳みそがスカスカでカッスカスのお前は算数からだwww
184 名前:デフォルトの名無しさん [2018/01/24(水) 23:28:21.93 ID:Rq+1kbsr.net] 精神が超底辺の奴が居る
185 名前:デフォルトの名無しさん [2018/01/25(木) 02:15:31.25 ID:KWt8t+zY.net] 裸にして隔離だな
186 名前:遊園地 mailto:sage [2018/01/25(木) 14:49:56.47 ID:ZKBm9Cy7.net] ぶひいいいいいいいいいいwwwww
187 名前:デフォルトの名無しさん [2018/01/27(土) 17:53:11.51 ID:UnKdxyA0.net] MACでPycharmをインストールしてコードを書こうとして躓いてしまったので教えてください。 ネットからコードをコピーして貼り付けとかで色々勉強しているのですが、 バックスペースで文字を消そうとしても消えず、カーソル位置が一つ前に戻り、 また、エンターキーでも次の行にカーソル位置が進むだけです。 これは、そういう仕様なのでしょうか よろしくお願いいたします
188 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 18:10:58.99 ID:WgYcU0Ps.net] 動画でうp
189 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 18:11:27.24 ID:+Y//GbrG.net] Anaconda で開発環境を整えようとしたんですが Anacondaのサイトに行くと404がでます もしかして既に閉鎖してます?
190 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 08:55:41.32 ID:6EjFtDvJ.net] URLが変わってるとかでしょ クールなURIは変化しないものだが、あいつらは馬鹿だからその辺が理解できていない
191 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 14:08:47.13 ID:Mtzb4WcR.net] >>180 ここに移転してた https://www.anaconda.com/download/
192 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 14:16:37.94 ID:alUZcTqs.net] >>181 >>182 返信ありがとうございます!
193 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 15:33:35.56 ID:aMuw2L5j.net] >>182 >URLが変わってるとかでしょ そんなことは全く思わないのが今の日本のPython入門者 そして、すぐに誰かにきくと
194 名前:デフォルトの名無しさん [2018/01/28(日) 17:40:42.06 ID:aljNVEZ8.net] matplotlibで下記のメッセージになってしまうのですけど、 どうしたらいいのでしょうか return _show(*args, **kw) TypeError: __call__() takes 1 positional argument but 2 were given
195 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 17:53:33.13 ID:TPh4DIsY.net] return _show(args[0], なんとか=args[1], **kw)
196 名前:デフォルトの名無しさん [2018/01/28(日) 18:20:25.88 ID:aljNVEZ8.net] >>186 ありがとうございます。 でもわかりませんでした。。。
197 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 18:25:39.41 ID:pFGTUFO4.net] >>187 引数を一つとる関数に2つの引数を入れたからエラーになってるんでしょ
198 名前:遊園地 mailto:sage [2018/01/28(日) 19:23:38.45 ID:FBU0Mxiw.net] TypeError:__call __()は1つの位置引数を取るが、2が与えられた タイプ エラー こーーる!!
199 名前:デフォルトの名無しさん [2018/01/29(月) 04:48:24.26 ID:7znYjzbE.net] 中学生のうちに英語はまじめにやっとけ 小学生なら許す
200 名前:デフォルトの名無しさん [2018/01/29(月) 11:12:55.53 ID:ijZgwjdS.net] スミマセン python3使って3つの数の最大公約数求める方法が分かりません。。二つの数の最大公約数求めて、その結果ともう一つの値でまた最大公約数求めるというのはわかるのですが
201 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 12:12:47.58 ID:udEAJVt9.net] マルチは自殺しろ
202 名前:デフォルトの名無しさん [2018/01/29(月) 12:14:13.64 ID:ZoR+QJGB.net] まるちんこ死ね
203 名前:遊園地 mailto:sage [2018/01/29(月) 12:42:51.84 ID:OAHpORg+.net] 小学5年生に対して、それは投げやり過ぎる。 公倍数を求める(仕組み) www.sho6.info/archives/362 ユークリッドの互除法(解説) p--q.blogspot.jp/2014/05/python9.html 公式ドキュメント docs.python.jp/3/library/functools.html import functools import math print( functools.reduce(math.gcd,[220,240,360]) ) まあ、くだスレだしなw
204 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 12:47:15.32 ID:zP0v+GZT.net] >>191 二つの数の最大公約数が求められてるんならどこで悩む?
205 名前:デフォルトの名無しさん [2018/01/29(月) 13:25:43.81 ID:ijZgwjdS.net] すみませんでした。def使ってなかっただけでした。解決しました。
206 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 17:52:10.43 ID:vPQd3eOK.net] マルチにマルチで回答すんな
207 名前:デフォルトの名無しさん [2018/01/29(月) 22:23:48.29 ID:81DQIK+r.net] >>188 >>189 >>190 ありがとうございます。 位置引数とか勉強してきます
208 名前:デフォルトの名無しさん [2018/01/30(火) 17:55:14.21 ID:OTL8jPh4.net] Python3で、任意の数Nまでの和を計算するプログラムのソースコードの作り方がわかりません。。
209 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 17:56:19.79 ID:zy+7iaPq.net] 任意の数Nまでの和を計算するプログラム = lambda N: N*(N+1)/2
210 名前:デフォルトの名無しさん [2018/01/30(火) 18:05:44.48 ID:OTL8jPh4.net] >>199 すみません、ミスでした。Nまでの素数の和です。
211 名前:愛知人 [2018/01/30(火) 18:07:13.10 .net] エラトステネスの篩のアルゴリズムで、見つけた素数をリストに追加、の部分を変数に足していくように変えるだけ
212 名前:デフォルトの名無しさん mailto:sage [2018/01/30(火) 18:14:35.10 ID:zy+7iaPq.net] >201 オイラー式でぐぐれ
213 名前:デフォルトの名無しさん [2018/01/30(火) 18:19:39.77 ID:OTL8jPh4.net] >>202 >>203 出来ました!ありがとうございました!
214 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 02:20:42.73 ID:f4BpNPs7.net] こんにちは nにスペース区切りで距離が与えられる(例:11 km)ので、mm換算で表示してくださいという問題で、単位が外せなくて困っています。出力に単位は必要ありません。 どうしたら良いでしょうか? 入力例: 11 km 出力例: 110000
215 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 03:24:22.71 ID:K+YvZ0kY.net] 1 km = 1000 m = 1000000 mm なのでは? km 以外に mとか cm とかも入力に入ることがあるの?
216 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 04:11:14.89 ID:LB3meOBv.net] >>206 そうです 単位はkm, m, cmの3パターンです
217 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 04:32:31.35 ID:iuThlArG.net] 正規表現 re モジュール使えば簡単だろ
218 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 10:38:48.33 ID:XrhjH1KS.net] https://gist.github.com/anonymous/217c1fea9f7395803f369fb05289d905 こんな感じ?
219 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 12:15:43.54 ID:gUa95v+e.net] anaconda の仮想環境について質問です。 仮想環境内でパッケージをインストールしたとします。 その後、その仮想環境を削除した場合、その仮想環境でインストールした パッケージも削除されるのでしょうか?
220 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 12:17:55.38 ID:gUa95v+e.net] 仮想環境Aを作成。 ↓ いろいろと仮想環境内でいじる ↓ 仮想環境Aを削除。 こうすると、anaconda は仮想環境Aを作成する前と同一の状態に戻るのでしょうか?
221 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 13:23:33.75 ID:Yyfhc83l.net] パッケージ次第としか言えない 例えば、パッケージがホームディレクトリなどに設定ファイルやキャッシュを作成した場合、仮想環境を削除しても消えないだろう
222 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 00:33:27.64 ID:HAJWEq9t.net] >>209 ありがとうございます、書いてみます しかし超初心者向けレベルなのでこんな難しいはずないのですが…作成側のミスでしょうか
223 名前:デフォルトの名無しさん [2018/02/01(木) 03:30:00.36 ID:QJNC8dyR.net] おまいは間違って産まれて来た子
224 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 12:34:41.05 ID:3Q0Uh8hK.net] 以下のコードでValueError: invalid literal for int() with base 10のエラーが発生します。リストの中に 10進数以外の“何か”が入っているから生じるエラーというところまではわかるのですが、それが何かが わかりません。現在引っかかっているのは、3行目です。不思議なことに4行目が通るのがますます 謎です。ご指南よろしくお願いします。 for item in open("leavetime.txt", encoding="utf-8"): h, m = item[:-1].split(":") print(int(h)+2) print(int(m)+3) "leavetime.txt"の中身 19:41 22:25 19:31 20:09 21:51 23:06 20:33 17:47 17:56 23:20 17:23
225 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 12:57:56.35 ID:JHgWZRDZ.net] >>213 それはいたずらにわかりづらく書いてある nがリストとかで無い場合 cm=10 m=1000 km=1000000 num,unit=split(" ") if unit=="km": answer=num*km elif unit=="m": answer=num*m elif unit=="cm": answer=num*cm print(answer) これならわかるだしょ ただ超初心者でも、このくらいまでは自力でたどり着きたい
226 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 13:00:01.79 ID:JHgWZRDZ.net] 失礼 num,unit=n.split(" ")
227 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 16:02:18.39 ID:JGfViH8X.net] >>215 そのコード何をしているのかはさっぱり不明
228 名前:だけど ValueError...なんてエラー出ないけど とりあえず print(h) print(m) にして、表示してみるとか [] [ここ壊れてます]
229 名前:デフォルトの名無しさん [2018/02/01(木) 16:39:29.34 ID:dcxYy60t.net] trainXはnumpyのndarrayです。 ↓この引数のリストの要素の意味は何ですか? とくに最初の要素の-1と最後の要素の1は何ですか? ドキュメントに載っていないような気がします。 trainX = trainX.reshape([-1, 28, 28, 1]) 28×28の2次元配列に形状変更するらしいですが。
230 名前:デフォルトの名無しさん [2018/02/01(木) 16:52:30.63 ID:dcxYy60t.net] trainX = trainX.reshape([-1, 28, 28, 1]) trainX = trainX.reshape((-1, 28, 28, 1)) 上の二つの式の違いは何でしょうか?
231 名前:デフォルトの名無しさん [2018/02/01(木) 16:57:01.28 ID:dcxYy60t.net] -1 のところの次元は自動で計算されるということですか?
232 名前:愛知人 [2018/02/01(木) 17:04:13.63 .net] trainXの次元は?
233 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 17:10:22.48 ID:dcxYy60t.net] sizeは43120000です。
234 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 17:10:40.05 ID:dcxYy60t.net] 次元は1次元です。
235 名前:デフォルトの名無しさん [2018/02/01(木) 17:14:41.63 ID:0r+ZCyMd.net] >220 -1は関係なくね? リストとタプルの違いでしかない
236 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 17:22:55.74 ID:dcxYy60t.net] >>225 一つ目の質問が -1 の意味でしたが、おそらく >>221 の意味だろうと思いました。 最後要素の 1 は長さ 1 の配列という意味だと思いました。 二つ目の質問が reshape はタプルだけでなくリストも引数としてとるのかということです。 実行してみるとそのようでしたが、念のため確認したいと思いました。 ドキュメントにはタプルを引数としてとると書かれています。
237 名前:デフォルトの名無しさん [2018/02/01(木) 17:51:37.80 ID:0r+ZCyMd.net] 気になるならこうしなさい trainX = trainX.reshape(tuple([-1, 28, 28, 1]))
238 名前:愛知人 [2018/02/01(木) 18:29:06.85 .net] >>226 ドキュメントにはintタプル or intsって書いてる
239 名前:愛知人 [2018/02/01(木) 18:33:48.72 .net] そのリストの中身の数字は-1×28×28×1の配列に変換しろって意味 最後の1は無くても変わらん気がする
240 名前:愛知人 [2018/02/01(木) 18:34:17.98 .net] -1は要素数に応じて自動的に決まる
241 名前:215 mailto:sage [2018/02/01(木) 19:16:15.61 ID:3Q0Uh8hK.net] >>218 返信ありがとうございます。あれからいろいろ調べて分かったことがあったので報告します。 ずばり、原因はsplitしたリストの先頭の要素にBOMが入っていたから、でした。 いろいろあたってつまみ食い気味に呼んだので、間違っているかもしれませんが、どうやら windowsではメモ帳でutf-8保存したときにBOMが入る仕様になっているらしく、一番最初の要素 をintにキャストするときに invalid literal for int() with base 10が発生するようです。これを回避 するためにはencoding="utf-8_sig"にすると、BOMをスキップしてくれるのだそうです。Macなどでは デフォルトでBOM無しになっているらしく、windows特有の現象だったようです。とにかく、原因が わかってよかったです。ありがとうございました。 ちなみに、このプログラムは以下のURLでpythonを勉強しているときに出てきたコードで、 残業時間を記録したtxtファイルから、総残業時間を求めよ、という課題でした。 giraffe.topaz.ne.jp/wiki/doku.php/py:python_curriculum
242 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 21:52:56.98 ID:iw8YX/Ps.net] Windows のメモ帳を使っていけないのは、常識 BOMなしUTF-8(UTF-8N)で保存するのは、常識
243 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 22:27:52.76 ID:ztyQSgLr.net] UTFなんぞを取り入れるから混乱する 日本はSJISで全てうまく行っていたのにどうしてこうなった
244 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 22:30:13.20 ID:tfIWAcyb.net] >>233 釣り針でっかいなー
245 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 22:53:36.84 ID:N3ewwxdm.net] EUC-JPのオレに謝れ
246 名前:デフォルトの名無しさん [2018/02/02(金) 06:57:28.81 ID:qMkVbe3j.net] >>233 テキストファイルが使いにくくなるようにMSやAppleがわざとやってる
247 名前:デフォルトの名無しさん [2018/02/02(金) 07:52:54.50 ID:sggyuymU.net] >>231 メモ帳はただちに窓から捨てて秀丸
248 名前:にしなさい [] [ここ壊れてます]
249 名前:デフォルトの名無しさん [2018/02/02(金) 07:55:39.00 ID:sggyuymU.net] >>233 システムロケールにcp932じゃなくてcp65001を
250 名前:愛知人 [2018/02/02(金) 08:25:52.08 .net] >>236 なんのために?
251 名前:デフォルトの名無しさん mailto:sage [2018/02/02(金) 13:32:28.01 ID:uXZkQ4V4.net] だいぶ改善されてきてはいるがMSは囲い込み体質だから協調より独創
252 名前:デフォルトの名無しさん mailto:sage [2018/02/02(金) 14:54:42.87 ID:IZOEihdO.net] >>238 そういえば、3.xの途中から、cp65001も定義されたんだよな。 以前はこんなの書いてたっけ… def cp65001(name): if name.lower() == 'cp65001': return codecs.lookup('utf_8') codecs.register(cp65001)
253 名前:デフォルトの名無しさん mailto:sage [2018/02/02(金) 20:40:37.09 ID:woVD/Zi7.net] >>215 で BOMあってもなくても正常に動くようにするにはどうすれば良い? encoding="utf-8"にutf-8だがBOM付の可能性もあるからよろしくってなんかを指定するとか?
254 名前:デフォルトの名無しさん mailto:sage [2018/02/02(金) 21:34:09.21 ID:0Pcz3PJH.net] >>242 バイナリとして開いて先頭にBOMがついてるかどうか見てやれば判定できるんじゃね https://gist.github.com/anonymous/043c64032fd78bc49a6b8ec389cffe1e こんな感じか
255 名前:デフォルトの名無しさん mailto:sage [2018/02/02(金) 21:51:51.36 ID:kuVTnXto.net] >>243 わざわざコードまで作ってくれたのか、激感謝だな 結局、encoding=とかでちょいと指定すればOKにならないってことか winではBOM付はよくあるからいたれりつくせりのPythonだとちょいと指定ば両方対応 できるかなと思ったんだがな. 出来ないとなると、俺判定でBOM付となったらBOM部分のスキップ処理も書かないといけないからな
256 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 00:34:28.67 ID:7x/TAIpP.net] >>243 が判定コード書いてくれたんで >>215 をBOMも対応するようにしてみた utf8_file="leavetime.txt" for item in open(utf8_file, encoding='utf_8_sig' if contains_bom(utf8_file) else 'utf_8'): h, m = item.rstrip().split(":") print(int(h)) print(int(m))
257 名前:デフォルトの名無しさん [2018/02/03(土) 05:06:07.81 ID:pNC8Ba1v.net] BOMチェックよりコインチェック
258 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 07:37:05.14 ID:t4e4FmlL.net] Pythonの本はあらかた購入しているのだけど、デコレータがどうしても理解できない いや説明はわかるのだが、それが何の役に立つのか理解できない 例えば以下のコードを見せられても、それが何?という感想しか出てこない 理解できないものは無視すればいいんだろうけど、Pythonドキュメントのサンプルコードに デコレータを使っている箇所(@classmethod等)がけっこうあるため、そうも行かない 誰かデコレータについてその存在意義と有用性を教えてくれないか ---------------------- @decorate def target(): print('running target()') これは次と等価です def target(): print('running target()') target = decorate(target) ----------------------
259 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 09:32:41.09 ID:qWVkS+Es.net] >>247 SQL の update とかで デコレータ版だとトランザクションや排他処理してくれるってのがあって便利だった
260 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 09:33:58.07 ID:qWVkS+Es.net] 少なくとも >>247 の例は悪例だという意見には同意
261 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 12:20:01.23 ID:5RbTAhEw.net] >>247 デコレーターって「高階関数の便利な使い方」って感じのものだから 根本的にはmap関数とか調べたほうがピンとくると思う。 pythonでは「関数を引数にとり、関数を返す関数」っていうのを文法上作ることができて、 「なら関数を受け取って改造して返す関数を作ってもいいよね」っていう発想が生まれて 「これ便利だ
262 名前:ゥら簡単に使えるようにしよう」って出来たのが@を使うデコレーター記法。 使い道としては、関数にちょっとした追加機能をつけて改造するようなものが多いと思う。 ログを取ったり、規定の文字数をオーバーしてたらエラーを返すようにしたり、 ただの文字列を返す関数をhtmlタグ付きの文字列を返すように改造したり。 [] [ここ壊れてます]
263 名前:sage [2018/02/03(土) 20:49:35.33 ID:ueJRcD/G.net] https://qiita.com/yyoshiaki/items/b545676aa1223e82da0e を読んで以下を試したのですが、 list3, list4の出力が正しい内容として、正規表現を使わずに簡潔に書く方法が あれば教えてください。 内包表記やスライスの使い方も完全に理解できていない自覚はあるのですが、 list4でfindを2回呼んでいるのが冗長です。 print("文字列より最初の'-1'のみ削除") list = ['1011-1-11', '1111-1-01', '1112-1-02', '1112-2-02', '1113-1-03', '1114-1-2-1-04', '1115-1-1-05'] print('元データ:\t' + str(list)) list2 = [x.strip('-1') for x in list] print('strip:(NG)\t' + str(list2)) list3 =[x.replace('-1', '', 1) for x in list] print('replace:(OK)\t' + str(list3)) #list4 = [x[:x.find('-1')]+x[x.find('-1')+2:] if x.find('-1') >= 0 else x for x in list] list4 = [x[:x.find('-1')]+x[x.find('-1')+2:] if '-1' in x else x for x in list] print('find:\t' + str(list4))
264 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 22:00:55.13 ID:NG/4jS4k.net] >>251 result = [i.replace('-1', '', 1) if i.find('-1') == 4 else i for i in list] -1の前の文字列の長さが変わる場合使えないけど
265 名前:デフォルトの名無しさん mailto:sage [2018/02/03(土) 23:51:57.78 ID:yAjTDr8r.net] >>252 >-1の前の文字列の長さが変わる場合使えないけど でも、操作対象は ['1011-1-11', '1111-1-01', '1112-1-02', '1112-2-02', '1113-1-03', '1114-1-2-1-04', '1115-1-1-05'] が全てなんだから、そのコードでOKだろう
266 名前:デフォルトの名無しさん [2018/02/04(日) 03:11:04.43 ID:jQQPuGSR.net] >>251 if x.endswith('_1'):
267 名前:デフォルトの名無しさん mailto:sage [2018/02/04(日) 07:41:23.95 ID:ue7FPdZ+.net] >>247-250 元の関数の機能を、少し変える場合に、便利
268 名前:遊園地 mailto:age [2018/02/04(日) 11:48:49.84 ID:HO2WZcry.net] まずww データ変換が違う?んぅんぅううwwww https://ideone.com/8tsKLz split('-1') では なくww split('-') [r.append(i.split('-')) for i in l] appendは+=でも可能www 何のデータか分かんないからww - 消して良いのか?www
269 名前:遊園地 mailto:age [2018/02/04(日) 12:19:09.89 ID:HO2WZcry.net] ってwww 最初の一回だけかwww ならww 違うわqwww
270 名前:遊園地 mailto:sage [2018/02/04(日) 13:49:40.69 ID:HO2WZcry.net] 分割したリストの二番目が1なら 処理する これではwww ダメなの?wwww
271 名前:遊園地 mailto:sage [2018/02/04(日) 13:51:51.04 ID:HO2WZcry.net] 何と言う発想www 自画自賛でwwww受けるwww
272 名前:デフォルトの名無しさん [2018/02/04(日) 16:18:25.03 ID:HO2WZcry.net] https://ideone.com/1bTruZ
273 名前:遊園地 mailto:age [2018/02/04(日) 17:00:12.78 ID:HO2WZcry.net] 正しい内容って何? データ形式と出力結果だけ頼む
274 名前:sage mailto:251 [2018/02/04(日) 22:31:46.18 ID:TAiQJbHW.net] 251ですが、言葉足らずでした。 print文のlist3,list4では既に欲しい出力結果が得られていました。 list3のreplace文ではない(正規表現に頼らない)書き方をlist4で模索しての 質問でした。 replace文では第3引数で1を指定することを知って、やっと欲しい結果が得られたの ですが、それまでは list3 =[x.replace('-1', '') for x in list] と書いていて、欲しい結果とはなっていいなかったため、 list4では関数に抜き出して展開(