Pythonのお勉強 Part3 ..
[2ch|▼Menu]
331:デフォルトの名無しさん
09/05/30 12:15:42
>>330
そう。系譜的にはML->Miranda->Haskell。
ただしリスト内包の導入ははMirandaから。
だから、Pythonのインデントやリスト内包はMiranda譲りと言うべき所だな。

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

333:デフォルトの名無しさん
09/05/30 16:09:04
PythonのインデントはABCからだろ

334:デフォルトの名無しさん
09/05/30 19:32:50
本人がABCの仕事してただろが

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

>>>rssitem = {"title":u"Pythonを勉強中",
... "link":"URLリンク(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:デフォルトの名無しさん
09/05/31 14:23:44
※すみません、インデントがなくなっちゃってますが(汗

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

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

339:デフォルトの名無しさん
09/05/31 14:39:31
keys()が正しいから

340:デフォルトの名無しさん
09/05/31 14:42:48
まさか、if key not in validattrs: の意味が分からないのか?

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

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

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

343:デフォルトの名無しさん
09/05/31 14:48:42
URLリンク(www.python.jp)

5.2 del 文

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

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

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

346:デフォルトの名無しさん
09/05/31 14:52:41
とりあえずfor〜in〜を勉強し直すと良いと思うよ

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

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

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

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

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


351:デフォルトの名無しさん
09/05/31 16:59:50
>>350
for の次の行で key を print してみろ。

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

いい勉強になった

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

いい思い出だ

354:デフォルトの名無しさん
09/05/31 18:22:00
痛レータ

355:デフォルトの名無しさん
09/05/31 18:36:36
>>350

>>342

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

356:デフォルトの名無しさん
09/05/31 18:50:55
答えたくないなら初心者スレに誘導するなりしろよ。
スレリンク(tech板)

あとカルシウム取れよ

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

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

359:デフォルトの名無しさん
09/05/31 20:16:54
# 元々のデータ(型:ディクショナリ)
rssitem = {"title":u"Pythonを勉強中",
"link":"URLリンク(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:デフォルトの名無しさん
09/05/31 20:25:49
能力があっても
人を傷つけるのに使うってのがアイタタタタ

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

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

363:デフォルトの名無しさん
09/05/31 20:51:29
えっと、
スレ違いですので
こちらへどうぞ
スレリンク(tech板)

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

365:デフォルトの名無しさん
09/06/01 09:03:16
>>359
GJ
よくやった

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

367:デフォルトの名無しさん
09/06/01 10:13:38
釣りだったってこと?

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

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

370:デフォルトの名無しさん
09/06/01 11:32:19
ちょっとまて
 そのかきこみは
   あさひかも

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

372:デフォルトの名無しさん
09/06/01 13:17:40
>>370 ウヨ乙。巣に帰ってね。

373:デフォルトの名無しさん
09/06/01 15:18:01
またruby厨の荒らしですか

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

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

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

376:デフォルトの名無しさん
09/06/01 22:35:41
rssitemって命名からして嫌な悪寒がしますた

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

378:デフォルトの名無しさん
09/06/01 22:38:45
RSS処理するならfeedparserだろ

379:デフォルトの名無しさん
09/06/01 22:59:22
次の患者さんどうぞ。

380:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/02 02:52:52
先生、次の患者さんです。

URLリンク(d.hatena.ne.jp)

382:デフォルトの名無しさん
09/06/02 03:49:09
2chは宣伝禁止ですよ

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


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

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

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

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

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

388:デフォルトの名無しさん
09/06/02 16:48:46
まずPythonをアンインストールしろ

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

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


391:デフォルトの名無しさん
09/06/02 22:32:33
>> 387
…釣りじゃなかったのか…

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

393:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/06/04 02:16:15
except

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

396:デフォルトの名無しさん
09/06/04 02:35:31
ruby厨の荒らしがいるのはここだけです

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

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

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

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

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

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


398:デフォルトの名無しさん
09/06/04 16:30:07
>>397
参考になるでしょうか。
URLリンク(www.python.jp)


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5400日前に更新/79 KB
担当:undef