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


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

くだすれPython(超初心者用) その36



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では関数に抜き出して展開(






[ 続きを読む ] / [ 携帯版 ]

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

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