[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 21:50 / Filesize : 79 KB / Number-of Response : 399
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

Pythonのお勉強 Part33



1 名前:デフォルトの名無しさん [2009/04/26(日) 01:48:01 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc12.2ch.net/test/read.cgi/tech/1234716330/

237 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 11:39:43 ]
頼むからインデントに最低スペース4つは使ってくれ

238 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:03:23 ]
GoogleAppEngineでは2つが標準みたいだよ

239 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:11:22 ]
そういう議論はこっちで

Pythonに見られるインデントによる制御構造の是非
pc12.2ch.net/test/read.cgi/tech/1169473442/l50

240 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 12:59:48 ]
ブロックのインデント表現は流行らないと思うわ
括弧とか改行とか、もっと積極的な表現の方が人間が認識しやすいもの

241 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:13:20 ]
>>237
それにこだわるひといるみたいだけど
なんか意味あるのか?

242 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:17:36 ]
>>240
気のせいです

243 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:24:52 ]
>>241
インデントが深くなったときパッと見で判別しづらいからとか?

244 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:36:09 ]
dict1 = {'a':1}
dict2 = {'b':2}

とあったときに、2つをマージした新しい辞書dict3を一発でつくるにはどうしたらいいですか。
dict3 = dict1.copy()
dict3.update(dict2)
とするしかないのでしょうか。
dict3 = dict1 + dict2
とかできませんか?


245 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 13:39:47 ]
>>244
D1.update(D2)



246 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 14:00:03 ]
>>241
それにこだわる人と同じ理由ではないと思うけど、個人的には読み難いし、綺麗じゃない
まぁおれがいつも4つ使ってるから慣れてないだけなのかもしれんけど。

247 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 14:34:01 ]
ところで皆さんインデントはスペース派?タブ派?
作者はスペースを推しているけど。

248 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 15:00:17 ]
タブ4。

249 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 15:18:22 ]
vimでSpace4

250 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 15:45:22 ]
スペース4だな

251 名前:デフォルトの名無しさん [2009/05/24(日) 16:03:13 ]
pythonだけでも十分?

252 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 16:04:21 ]
タブ2だな
みんなけっこう違うんだな

253 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 16:11:55 ]
スペース2にきまっとる

254 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 16:15:05 ]
pep8 では4スペースだから、新規に標準ライブラリにはいるコードは全部4スペース。

255 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 17:54:26 ]
1段目:Space6
2段目:Space5
3段目:Space4
4段目:Space3
5段目:Space2



256 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 19:39:22 ]
途中で改行したばあいの2行目以降の字下げも推奨値あるの?

257 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 20:40:31 ]
>>256
それ気になる。配列や辞書を途中で改行している場合、かっこを閉じる位置をどこにするか迷う。

258 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 20:47:58 ]
>>249
同じく

259 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 21:00:23 ]
辞書や配列の閉じカッコって、使ってるテキストエディタによって
微妙に位置が違ってなんか痒いところだよな。

260 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 22:09:09 ]
>>245
>D1.update(D2)
これだと D1 が変更されますよね。
やりたいのはD1もD2も変更せずに、かつD1とD2をマージした辞書を一発で新たに作りたいということなんですけど。

261 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:06:14 ]
むりぽ

262 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:09:38 ]
>>257
突然Cみたいになっちゃう俺。

263 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:19:11 ]
dict1 = {'a':1}
dict2 = {'b':2}
>>> dict([(k, dict1[k]) for k in dict1] + [(k, dict2[k]) for k in dict2])
{'a': 1, 'b': 2}

普通すぎてスマソ

264 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:25:14 ]
>>> dict(list(dict1.iteritems()) + list(dict2.iteritems()))
{'a': 1, 'b': 2}
あんまり変わらんか orz

265 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:34:48 ]
eval(",".join((str(dict1)[:-1],str(dict2)[1:])))
気持ち悪い



266 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:37:08 ]
>>264
その方式ならこうじゃね?
>>> d1 = {'a':1}
>>> d2 = {'b':2}
>>> dict(d1.items() + d2.items())
{'a': 1, 'b': 2}


267 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 23:47:42 ]
>>256
PEP8では「適切にインデントすること」としか書かれていないけど、サンプルコードを見ると
改行前の要素に合わせてるな。

foo(bar,
    baz)

268 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:05:27 ]
どっちかというとそういう関数作った方がキレイだな。

269 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:19:23 ]
setと違って+演算子を割り当てなかったのは、足す前の辞書の要素のうち足す辞書に
重複するキーがあった場合値を上書きしてしまうと言う動作が、+演算子の
「追加する」というイメージに合わなかったからだろうな。
あくまでも更新(update)であって、追加(add)じゃない。

clone() して update() するのが正解だと思うよ。別に面倒でも汚くもないし。

270 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:43:34 ]
d3 = d1 || d2

271 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 00:52:22 ]
>>270
Pythonにそんな演算子ねーよw
それに、 d3 = d1 | d2 にしても、やっぱりd1にある要素が「消える」ということを考えると
bitwise or とは違うよね。set ならそれでも意味通るけど。

272 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:26:27 ]
エディタのタブ記号のお世話になっているのでタブ4
※タブが推薦されない理由って何?

273 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:40:11 ]
環境によって深さが変わるし

274 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 01:43:48 ]
いまどきのエディタ使ってりゃ2でも4でもどうでもいいんだけどな
それより深くなり過ぎそうならその前に関数にするとかモジュールにするとか
なんか工夫するはずだからな
タブにこだわってる香具師とかインデントにこだわる香具師は
机上の空論
畳の水練

275 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 02:28:43 ]
Perlでも使ってろ



276 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 02:38:28 ]
>※タブが推薦されない理由って何?
関数の括弧でそろえたいときとかにスペースと混在するしか無くて、
そうすると環境によって見た目がめちゃくちゃになることかなあ。

どの環境もタブ=スペース4つ分とかで統一してくれればいいのに。
何でタブ=スペース8つ&スペース混在をデフォルト設定にしたんだ。>アレ



277 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 02:42:37 ]
アレって何だ?IBM?ゼロックス?

278 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 07:47:22 ]
おひざもとのコーディングルールが 8タブ& 4インデントのアレとか?

279 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 17:02:18 ]
昔はタブ8桁だったからしょうがないね。
スペースだけにするのが一番問題無い。

280 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 18:14:44 ]
それ、別に昔の話でもない
端末(エミュレータ)やウェブブラウザなど、多くのソフトウェアは今でも
普通は8タブのはずだよ

281 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 19:46:04 ]
TAB
八画

282 名前:デフォルトの名無しさん [2009/05/25(月) 22:23:14 ]
みんなのPythonすごく読みやすい。超面白いんですけど、毎日ガンガン読んでます。


283 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:40:47 ]
日本語でおk

284 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:42:07 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日ガンガン読んでます。

285 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:44:01 ]
ガンガンってまだあったのか



286 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:46:48 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日ボンボン読んでます。

287 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 22:57:50 ]
殴って人が殺せそうな厚さのコミック雑誌名列挙禁止なw
先月付けの号でガンガン超えてたのあったな…。1000Pとかマジ基地

288 名前:デフォルトの名無しさん mailto:sage [2009/05/25(月) 23:29:13 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日京極夏彦読んでます。

289 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 09:04:46 ]
みんなのPythonすごく読みやすい。超面白いんですので、毎日時刻表読んでます。

290 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 12:05:15 ]
誰かが面白いこと言うまで続くの?

291 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 16:09:10 ]
ちんこ

292 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 16:31:11 ]
乳輪大納言

293 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 16:44:50 ]
久しぶりに7巻読んでみた

294 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 16:48:33 ]
またruby厨の荒らしが来てるのか

295 名前:デフォルトの名無しさん [2009/05/26(火) 18:01:16 ]
デコレータって気持ち悪いね・・・




296 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 22:13:54 ]
むしろ気持ちいい

297 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 23:44:16 ]
デコレータイイ
メタクラスヘン

298 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 01:08:06 ]
>>244
dict1 = {'a': 1}
dict2 = {'b': 2}
dict3 = dict(dict1, **dict2)
こんなのどう?


299 名前:デフォルトの名無しさん [2009/05/27(水) 03:31:21 ]
dict3 = dict(**dict1, **dict2)

300 名前:デフォルトの名無しさん [2009/05/27(水) 08:55:08 ]
>>299
勉強しなおしてこい


301 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 09:27:34 ]
dict3 = dict(dict1.items() + dict2.items())
>>298
ナイス。なるほどね。
>>299
動かん。

調べたらstackoverflowにあった。
stackoverflow.com/questions/38987/how-can-i-merge-two-python-dictionaries-as-a-single-expression

298がいいみたいね。

302 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 16:54:40 ]
>>301
>dict3 = dict(dict1.items() + dict2.items())
やりたいことを明示的に示しているという意味ではこっちの方が分かりやすいと思うけどな。
効率はおいとくとして。

303 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 17:22:25 ]
>>302
それは py3k ではエラーになるという面で >>298 の勝ち。

304 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 17:55:41 ]
結局copyしてupdateの方が明示的のような。

305 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 18:14:39 ]
2回updateでいいじゃんよ
1行で済ませようとするとろくなことにならんぞ



306 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 18:45:27 ]
dict3 = dict().update(dict1).update(dict2)

307 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 18:47:51 ]
あら素敵

308 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 21:14:51 ]
頭良いな。

309 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 21:33:51 ]
>>306
update() は inplaceに処理する関数でupdate後のdictを返す訳じゃないから
それじゃダメ。

dict3 = dict1.copy()
dict3.update(dict2)

素直だし読みやすいし何も問題なし。

310 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 22:02:44 ]
Pythonはsortにはsorted、reverseにはreversedみたいな値を返すタイプがもれなくあるから
updateみたいにinplaceのみで値を返す選択肢がないメソッドは意外

311 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 22:38:00 ]
青年よ、PEPを書け

312 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 23:59:45 ]
彼は書いた。
日本語で。

313 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:33:19 ]
>>309
Java みたいでやだ

314 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:35:33 ]
dict object に updated メソッドを追加するにはどうすればよいですか?

315 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:39:16 ]
適当にdictを継承すれば



316 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:53:15 ]
これでいいだろ
なんでメソッドにしたいんだ

def marged(*dicts):
    marged_dict = {}
    for d in dicts:
         marged_dict.update(d)
    return marged_dict

317 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:13:14 ]
mergeな

318 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 02:31:58 ]
>>316
ネ申!!!

319 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 04:30:15 ]
辞書をマルゲッドする方法を教えてください

320 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 09:37:15 ]
>>303
それは盲点だった。
なら>>304だな。

321 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 11:20:47 ]
>>313
複雑な式よりもシンプルな文を選ぶと言う点では、Pythonの文化は
Javaに近いと思うよ。
もちろんスクリプト言語の利点や動的型付けの利点があるから、
Javaよりも圧倒的にアジャイルに開発できるけど。

322 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 12:39:27 ]
なんでイテレータどうしを足したらだめなんだろう?
itertools.chainの動作をしてくれれば良いだけだと思うんだけど。

323 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 16:15:24 ]
list ならそれでいいんじゃね?

324 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 10:52:36 ]
今更だが、Pythonってインデントによるブロック表現とかリスト内包とか
Miranda譲りの部分があるんだな。

325 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 11:13:40 ]
ミランダつーか関数型言語方面からの影響ね。



326 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 11:16:41 ]
Miranda以外にインデントでブロック表現をする関数型言語あったっけ?

327 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 11:33:35 ]
Cyan

328 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 11:46:30 ]
>>327
初めて聞いた言語だな。
ググってもウェブサイトが出てこないが、相当マイナーな言語なのか?

329 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 12:05:43 ]
インデント > Haskell
Pythonの内包表記はHaskell譲り。

330 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 12:08:09 ]
MirandaもHaskellもMLからの影響だな

331 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 12:15:42 ]
>>330
そう。系譜的にはML->Miranda->Haskell。
ただしリスト内包の導入ははMirandaから。
だから、Pythonのインデントやリスト内包はMiranda譲りと言うべき所だな。

332 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 12:52:03 ]
<丶`∀´>インデントと内包表記の起源は韓国ニダ!

333 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 16:09:04 ]
PythonのインデントはABCからだろ

334 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 19:32:50 ]
本人がABCの仕事してただろが

335 名前:デフォルトの名無しさん [2009/05/31(日) 14:22:28 ]
あの〜すごくレベルの低い話で申し訳ありませんが
みんなのPython改訂版で勉強してます。
for文でちょっとわからないところがあります。
お持ちの方がいましたら(p,105上部のコードです。)

>>>rssitem = {"title":u"Pythonを勉強中",
... "link":"host.to",
... "dc:data":"2006-05-16",
... "comment":5}
>>>validattrs = ["title","link","dc:data"]
>>>rsskeys = rssitem.key()
>>>for key in rssitem.key()
... if key not in validattrs:
... del rssitem[key]
...
>>>rssitem.key()
['title','link','dc:data']



del文のところの意味がわかりません。
なんでこの文で'comment'だけが消されるのか…
低レベルで申し訳ありませんが、宜しくお願い致します。



336 名前:デフォルトの名無しさん [2009/05/31(日) 14:23:44 ]
※すみません、インデントがなくなっちゃってますが(汗

337 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:35:38 ]
>>335
いやーんなコードだな・・・
それはともかくrssitem.keys()とvalidattrsの出力を比べてみたらいいかも

338 名前:デフォルトの名無しさん [2009/05/31(日) 14:37:51 ]
rsskeys = rssitem.key()でエラーになるんですけど、どういうことですかね?

339 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:39:31 ]
keys()が正しいから

340 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:42:48 ]
まさか、if key not in validattrs: の意味が分からないのか?

341 名前:デフォルトの名無しさん [2009/05/31(日) 14:43:40 ]
>>339 本当ですね、ありがとうございます。

rssitem.keys()とvalidattrsの内容はわかります。
やろうとしていることはわかるんですが…
(rsskeys = rssitem.key()とvalidattrsで合致していない項目を削除)
del rssitem[key]ってどういうことですか

342 名前:デフォルトの名無しさん [2009/05/31(日) 14:45:17 ]
>>340
そこはわかるんですけど(汗
その次が…

343 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:48:42 ]
www.python.jp/doc/release/tut/node7.html

5.2 del 文

ぐぐればすぐ出てくるのに・・・

344 名前:デフォルトの名無しさん [2009/05/31(日) 14:49:54 ]
del文は■■■.del[]で引数にはインデント番号や辞書で言うキーを入れると思いますが、
上記のコードでは[key]となっています。keyってキーはなかったので
この文で、「comment」が消えた意味がわかりません。
私変な質問してますかね?(滝汗

345 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:52:28 ]
>>344
おまいマジで言ってるのかよ
keyは変数だろ?中身に何が入ってるかprintしてみろよ



346 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:52:41 ]
とりあえずfor〜in〜を勉強し直すと良いと思うよ

347 名前:デフォルトの名無しさん [2009/05/31(日) 14:53:16 ]
>>343
ありがとうございます。
del rssitem[key]のような使い方がないんですよ(涙
引数の[key]ってどこからきたのーーーーー?

348 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 14:54:26 ]
>>347
for key in rssitem.keys(): を100回声に出して読んでみれ

349 名前:デフォルトの名無しさん [2009/05/31(日) 14:56:37 ]
あ、…解決しました。
keyは繰り返し変数でした。
お時間をとらせてしましてすいません。勉強になりました。
大変お騒がせ致しました。
ありがとうございました。

350 名前:デフォルトの名無しさん [2009/05/31(日) 15:05:57 ]
あ、最後にひとついいでしょうか
rsskeysは、rssitemの全てのキー
つまりkeyも同様にrssitemの全てのキーの繰り返し  ですよね?

del文で、rssitem[key]をやると、全てのキーが消えてしまうように思えますが…


351 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 16:59:50 ]
>>350
for の次の行で key を print してみろ。

352 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:41:29 ]
配列に対してインデックスでアクセスしないことで
操作イメージが掴みにくくなることもあるんだな

いい勉強になった

353 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:51:05 ]
漏れもPerlのforeachを理解するのに丸一日かかったことがある

いい思い出だ

354 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:22:00 ]
痛レータ

355 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:36:36 ]
>>350

>>342

プログラム以前に、国語とか算数とかからやり直してくれよ。



356 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:50:55 ]
答えたくないなら初心者スレに誘導するなりしろよ。
pc12.2ch.net/test/read.cgi/tech/1243160751/

あとカルシウム取れよ

357 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:58:23 ]
と思った俺が悪かった。
彼はどこに誘導してやればいいのだろう・・・

358 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:14:20 ]
>>335
みんなのPythonってサンプルソースでもこんなに誤字脱字だらけなの?

359 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:16:54 ]
# 元々のデータ(型:ディクショナリ)
rssitem = {"title":u"Pythonを勉強中",
"link":"host.to",
"dc:data":"2006-05-16",
"comment":5}

# 「元々のデータ」の中で残したいキーの名前が入ったリスト
validattrs = ["title","link","dc:data"]

# 「元々のデータ」のキーを繰り返し読み込む(変数keyに格納)
for key in rssitem.keys():
# もし、keyが残したいキーの名前が入ったリストに含まれて"いなければ"
# ディクショナリ中のrssitem[key]は消したいのだからdel文で消す
if key not in validattrs:
del rssitem[key]


これで解決します?
これで解決しないのなら、質問する前に本を一から読み直す事をおすすめします。

あと、ぬいぐるみに質問したい事を先に話してみてから、
質問にくるといいかもしれません。
米国のどこかの大学は、そうすることで、
相談室にくる生徒の数を5割近く減らせたそうです(自己解決したということ)。

360 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:25:49 ]
能力があっても
人を傷つけるのに使うってのがアイタタタタ

361 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:38:55 ]
誤植を抜きにしても
このコードで勉強する初心者かわいそす

362 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:46:37 ]
こんな簡単なコードで悩むやつはプログラミング向いてないから他のことやったほうがいいよね。
人生みじかいんだから自分の得意な分野でがんばったほうがいいよ。

363 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 20:51:29 ]
えっと、
スレ違いですので
こちらへどうぞ
pc12.2ch.net/test/read.cgi/tech/1243160751

364 名前:デフォルトの名無しさん [2009/05/31(日) 20:59:22 ]
>>359
わかりました。ありがとうございます。
del rssitem[key]ちょっとわかり難かったですが、359さんの説明でわかりました。

365 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 09:03:16 ]
>>359
GJ
よくやった



366 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 10:05:56 ]
みんPyを見てみたけど、リストにはちゃんと説明書きがついてるのな。
日曜にやることがない奴らが盛り上がるネタとしては最適だったかもな(爆笑)。

367 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 10:13:38 ]
釣りだったってこと?

368 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 10:20:59 ]
釣りかどうかは知らないけど
カルシウム足りなそうな奴は友達いないな確実に(wwWwwWwwWW

369 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 11:05:03 ]
理由も示さず誹謗中傷してる人がいるけど、病院に行くことをオヌヌメしる。分裂症の疑いが強い。
分裂症患者は普通の会話ができないので、日曜に時間がたっぷりあるのももっともなわけだが。

370 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 11:32:19 ]
ちょっとまて
 そのかきこみは
   あさひかも

371 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 12:25:25 ]
>>369
キチガイには正しいモノが間違って見えるらしいよ

372 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 13:17:40 ]
>>370 ウヨ乙。巣に帰ってね。

373 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 15:18:01 ]
またruby厨の荒らしですか

374 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:09:23 ]
なんでこんな突っ込みどころのない簡単なコードで盛り上がってるんだ?
釣りってかんじでもなさそうだったけど。

375 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:33:57 ]
rssitem = {"title":u"Pythonを勉強中",
 "link":"host.to",
 "dc:data":"2006-05-16",
 "comment":5}
for key in rssitem.keys()
 del rssitem[key]

これを実行したとき
全keyは確実に消えますか?
消す順番によってはいくつかのkeyが残る気がして不安です
またrssitem自体は消えますか?



376 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:35:41 ]
rssitemって命名からして嫌な悪寒がしますた

377 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:36:26 ]
rssitem.clear() やっときゃ完璧。

378 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:38:45 ]
RSS処理するならfeedparserだろ

379 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 22:59:22 ]
次の患者さんどうぞ。

380 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 23:29:42 ]
>>374
詳細は>>375

>>375
実際にコードを書いて試したらいいと思いますよ。
荒らしたくてしてるんならこのまま質問攻めでいいですけどね。
(そうなら心置きなくあぼーんできますしw)

> 消す順番によって…
おそらく、ディクショナリのところに書いてあると思います。
ディクショナリは格納する時に、プログラムに書いた通りの順番に
保存する事を保証してくれません(と本に書いてあるはずです)。
それさえ分かっていれば、「順番によって…」というのはないと分かるでしょう。

> rssitem自体は消えますか?
おそらく、これもリストやディクショナリの所で書いてあると思います。
例えば
toy_box = {u"ぬいぐるみ": 2, u"プラモデル": 3, u"ボール": 5}
for toy in toy_box.keys():
del toy_box[toy]
とすると、おもちゃ箱(toy_box)までなくなる事になります。
おもちゃ箱は空になるだけですよね。
試せばtoy_box = {} になると思いますよ。
(ここで、ぬいぐるみは2個あるので1個になることはありますか?とかは愚問です。)

381 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 02:52:52 ]
先生、次の患者さんです。

ttp://d.hatena.ne.jp/perezvon/20090601/1243872974

382 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 03:49:09 ]
2chは宣伝禁止ですよ

383 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 10:22:41 ]
            /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /


384 名前:デフォルトの名無しさん [2009/06/02(火) 11:02:01 ]
pyqt4.5の開発版は既に3.0に対応してるのか
もしかして今後主流になるのか?

385 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 12:11:17 ]
>>384
pyqt4.5はもうそろそろリリースされそうだね。
でも、Py3k が主流になるのにはまだまだ時間がかかるよ。
Python 3.0 が出た後にも py3k には後方互換性を失う変更が入ってくるし。



386 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 15:23:58 ]
>>381
スクリプトエロゴトニクス通信の人の香ばしさは、頭が良すぎることから来てるのかな?
病院で直るタイプの病気ではなさそうだ(w

387 名前:デフォルトの名無しさん [2009/06/02(火) 16:46:04 ]
初歩的な質問で申し訳ありません。
.pyのついたファイルをウィンドウズで実行したいのですが、どのように設定をしたらいいでしょうか?

python-3.0.1をインストールしてみたのですが、どうしたらいいのかイマイチよくわかりません;;

388 名前:デフォルトの名無しさん [2009/06/02(火) 16:48:46 ]
まずPythonをアンインストールしろ

389 名前:デフォルトの名無しさん [2009/06/02(火) 17:02:05 ]
超初心者スレのほうで聞いてみることにします。
ご迷惑おかけしました;;

390 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 18:32:42 ]
            /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /


391 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 22:32:33 ]
>> 387
…釣りじゃなかったのか…

392 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 22:34:01 ]
アンインストールしろも嘘じゃなかったんだがな!
半分だけど

393 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 00:44:01 ]
gtkモジュールの初期化をスキップする方法はないでしょうか?
gtk.gdk.pixbufを使いたく、gtkそのものは不要なのですが
普通にgtkをimportすると初期化中にXサーバとの接続までやってくれちゃうらしく
/usr/local/lib/python2.5/site-packages/gtk-2.0/gtk/__init__.py:72: GtkWarning: could not open display
warnings.warn(str(e), _gtk.Warning)
という警告が出力されます。
それでも動くのですが、不要な警告が毎回出るというのも気分がよくありません。

394 名前:デフォルトの名無しさん [2009/06/04(木) 02:16:15 ]
except

395 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 02:31:25 ]
>>389
どこで聞いても同じだろ
アホかお前



396 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 02:35:31 ]
ruby厨の荒らしがいるのはここだけです

397 名前:デフォルトの名無しさん [2009/06/04(木) 16:27:29 ]
python の help(..) 結果の文字列をコンソールではなく、str 文字列に簡便に取り出す
方法がないでしょうか。

--------------

python の help(..) 関数は、文字列を返すのではなく、コンソールに直接出力していま
す。でも、その文字列が多すぎると読みきれません。例えば help(scipy) などとすると、
二万行を超える結果が返ってきます。

この多すぎる文字列を正規表現で絞り込もうとしています。自前の help 関数を作り、組
み込みの help が返す結果の文字列から正規表現にマッチする行を抜き出して表示しよう
と思います。

でも help(..) 関数がコンソールに直接出力しているので困っています。pydoc のソース
も追ったのですが、help(..) 結果を str に変更する上手い手が見つかりません。

上手い手段を御存知の方、教えてもらえますでしょうか。ヒントだけでも助かります


398 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 16:30:07 ]
>>397
参考になるでしょうか。
ttp://www.python.jp/doc/release/lib/module-pydoc.html






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

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

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