1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 19:25:51 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、 お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>950 辺りで 前スレ くだすれPython(超初心者用) その3 pc12.2ch.net/test/read.cgi/tech/1232055225/ 関連スレ Pythonのお勉強 Part33 pc12.2ch.net/test/read.cgi/tech/1240678081/
486 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:39:32 ] >>484 完全ハッシュって双方向に一意なんだっけ って複数のキーで同一の値が取れたら完全ハッシュじゃないもんな
487 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:41:55 ] >完全ハッシュって双方向に一意なんだっけ no >って複数のキーで同一の値が取れたら完全ハッシュじゃないもんな no
488 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:00:32 ] えっ
489 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:42:36 ] >> 完全ハッシュって双方向に一意なんだっけ > > no > no >> って複数のキーで同一の値が取れたら完全ハッシュじゃないもんな > > no no
490 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:44:34 ] > no no なんだよおまえらww
491 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:55:19 ] > なんだよおまえらww neet
492 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 13:22:51 ] なんなんだこのスレ
493 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 13:23:49 ] 衆議院議員をめざしている人が、 本当のところどう思っているのか、 きいてみよう。 ttp://moderator.appspot.com/?hl=ja#16/e=9df89 "名前を連呼するだけの選挙宣伝カーを、「スパム認定」して禁止しませんか?" Lambda
494 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 16:24:25 ] >>474 Python 自体のソースを見るのが確実かと。 svn.python.org/view/python/trunk/Python/bltinmodule.c?revision=73776&view=markup の builtin_hash() が組み込み関数の hash() に相当する。 svn.python.org/view/python/trunk/Objects/object.c?revision=73076&view=markup に PyObject_Hash() の定義がある。
495 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:07:08 ] ソースやドキュメントなんて読むまでもないだろ。 もし仮に完全ハッシュだとしたとしたら 論理的に考えてhash関数の引数はシーケンスでないとならない。 そうなってないんだから当然hashは完全ハッシュじゃない。 たまには頭使わないと腐るぞ。
496 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:10:25 ] そもそも「ハッシュ」の意味さえ知っていれば、あんな疑問は湧かないはず
497 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:31:09 ] >>495 > 論理的に考えて Python的に考えて、でしょ 型によって全く扱いが違う関数なんて 他の言語ではありふれてるわけで。 スレタイ読める?
498 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:35:19 ] 例えば数値なら桁毎のシーケンスの生成なんて簡単なことだし
499 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:43:40 ] スレタイ読めるなら いちいち「Python的に」なんて書かなくても補完できるはずなのにね。
500 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 00:12:47 ] >>498 桁毎のシーケンスって何? 整数型のbit数毎に異なるテーブルを用意する"なら" 整数型の完全ハッシュが作れるってこと? 条件を絞れば完全ハッシュなんていくらでも作れるに決まってるだろ? たとえば同一性を判定するためだけのハッシュとか、 ある種のFSでファイル名をキーとするハッシュとか。 自分こそスレタイ読めるなら、型によってとか他の言語ではとか 勝手に条件付け加えないでくれ。
501 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 00:15:53 ] 釣り針でかいなw
502 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 00:18:49 ] そんなもんがあるとして、少なくとも、引数の範囲とかも引数にしないと無理なんじゃまいか?
503 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 00:27:01 ] 引数の範囲?bitwidth?
504 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 00:28:27 ] 朝生はじめるよー
505 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 19:38:43 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
506 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 15:51:39 ] Output folder: C:\DOCUME~1\user\LOCALS~1\Temp Install dir for actual installers is C:\DOCUME~1\user\LOCALS~1\Temp "Target CPU handles SSE2" "Target CPU handles SSE3" XPにnumpyインストールしようとしたらこうなったんだけどどうしたらいいんだ?
507 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 16:04:23 ] あーインストーラー保存せずにそのまま実行したらできました
508 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 16:22:10 ] おれ、C:\temp\downloadsになんでもダウンロードして実行する癖あるんだけど、 俺の場合そうはならなかった気がするな?
509 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:07:06 ] Mac OS X + Python2.5です ファイルの出力なのですが、 f = open('hoge', 'w') f.write('line 1\n') としても改行されません・・・ なにか間違って理解しているのでしょうか?
510 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:10:45 ] > write( str) > > 文字列をファイルに書き込みます。戻り値はありません。 > バッファリングによって、flush() または close() が呼び出されるまで > 実際にファイル中に文字列が書き込まれないこともあります。
511 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:13:29 ] 失礼しました。 close() はしているのですが、 ファイルには line 1\n と出力されてしまいます・・・
512 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:17:15 ] f = open('hoge', 'w') f.write('line 1\n') f.close() こちらでは再現できない。
513 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:19:47 ] 原因が少しわかりました・・・ PyDev(Eclipse)を使っていたのですが、\がバックスラッシュにならないようですorz コンソールからvi で編集しなおして\(バックスラッシュ)で改行されました。 これはPyDevの挙動がオカシイんですかね、それとも仕方ないんでしょうか?
514 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:27:11 ] >>509 脊髄反射でバッファリングだと思ってしまった。ごめん macのyen signには癖があるって話を聞いたことがある % od -tx1 hoge して結果を貼ってみて
515 名前:511 mailto:sage [2009/07/26(日) 22:29:39 ] 解決しました Macに不慣れなので知らなかっただけで、通常に¥キーを押すと円記号、バックスラッシュを入力する場合はOption + ¥キーを押すようです。 ターミナルの場合は強制的にバックスラッシュなのかな?
516 名前:デフォルトの名無しさん [2009/07/26(日) 22:35:46 ] pythonで皆さんどんなことしてるんですか? 具体的に何をしてるか教えて下さい。
517 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:40:35 ] pass
518 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 00:10:59 ] ナニしてるんだろうねぇ
519 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 01:55:52 ] >>516 お仕事に使えるよ? ユーティリティ色々、前はVB.NETだったけど今は大概Pythonで書いてる。 この間は、ftpサーバーの状態をチェックして警報ショートメッセージ出すのを書いた。
520 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 02:39:53 ] Windowsアプリ作ってるよ。 Thinkpadとか、ツール類がPython使ってるから検索するとPython関連ファイルが 沢山入ってる。 バージョン古いし、ツール類の大半要らないからアンインストールして自分で最新の Python入れるけど。
521 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 09:48:56 ] Python のコマンドラインシェルや、iPython 等で タブ幅(tabstop)を指定するにはどうすればよいですか?
522 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 16:54:50 ] a = [' ','a',' ','b',' ','c',' '] のように空白を要素に持つlistがあります. このlistから空白要素を全部削除するのに, for a in range(a.count(' ')): a.remove(' ') と書いているのですが,もっとスマートに書けないでしょうか.
523 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:01:33 ] a = [i for i in a if a != " "] とか?
524 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:02:34 ] a = [' ','a',' ','b',' ','c',' '] print filter(lambda x: x != ' ', a) or a = [' ','a',' ','b',' ','c',' '] print [x for x in a if x != ' ']
525 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:02:52 ] [e for e in a if e != ' '] filter(lambda x: x != ' ', a)
526 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:04:35 ] >>524 ケコーンしようぜ
527 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:05:28 ] filterって関数があるんですね.ありがとうございました.
528 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:06:31 ] 全然スマートにみえないんだが気のせいかな?
529 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:22:53 ] リストそのものの書き換えと、リストから要素を除いた新しいリストを作るののどちらをやりたいんだ?
530 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:25:32 ] >>528 filterとかlambaとかスマートというか自己満足だよね
531 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:27:06 ] lambdaはともかくfilterはできる子
532 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:33:19 ] >>531 >filterはできる子 そういうことにしたいのですね。
533 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:36:59 ] 全然スマートにみえないんだが気のせいかな?
534 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:38:18 ] 全然スマートにみえないんだが気のせいかな?
535 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:44:34 ] reduce(lambda x, y: x + ([y] if y != ' ' else []), ' a b c ', [])
536 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:45:22 ] reduceって関数があるんですね.ありがとうございました.
537 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 17:52:20 ] [i for i in ''.join(a).split(' ') if i] or filter(lambda x: x, ''.join(a).split(' '))
538 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:01:52 ] filter(' '.__ne__, [' ','a',' ','b',' ','c',' '])
539 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:17:50 ] それいいね
540 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:53:54 ] 一行野郎め
541 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 20:18:26 ] Tkinterで書いたものをwxで書き直してます。DnDが要件にあったので。 wxは初めてです。 wxってウィジェットの位置とかサイズを指定しますが、 あれって環境によってフォントサイズが変わったりした場合、 重なったり、端が切れちゃったりしないんですかね。 TKライクに並べて行けば自動的にサイジングしてくれる 配置のやり方があれば教えていただけないでしょうか。 sizerでどうにかするんだろうとは思うのですが、具体的なや り方に行き当たっていない状態です。 あと、TKでいうところのLabelFrameってwxにはないんでしょうか。 現状StaticBoxとStaticTextで似たようなことしてます。 よろしくお願いします。
542 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 20:20:36 ] XRCed
543 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 20:21:18 ] Sizer
544 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 21:13:43 ] >>540 なんてすばらしい日本語訳かと思ったら こんなに市民権を得てるとは。。。 www.google.co.jp/search?q=%88%EA%8Ds%96%EC%98Y
545 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:19:10 ] python 一行野郎ってジャンルはまだ無いのな
546 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:56:33 ] インデントのおかげで一行で書くのはむずかしいからな
547 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 01:06:56 ] >>544 いつ頃、どこで生まれた訳なんだろうな。 俺が初めて知ったのは『Effective Perl』の邦訳版で、これが10年前の本だけど。
548 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 01:12:39 ] Rubyしかないよなあ
549 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 02:46:47 ] >>516 C言語で書いたシミュレーションプログラムに Python で GUI を付けたり、シミュレーションの 一部で新しいことを試したいとき(例えばある方程式を解く時にニュートン法が有効かどうか確か めたいときなど)に Python で試作プログラムを書いてみたりしています。 先日、線形計画問題を解く必要があって Python でシンプレックス法を書きました。線形計画問題 というのは、「製品Aには材料Sが3個、材料Tが2個必要で、製品BにはSが1個、Tが4個必要です。 Aは100円、Bは150円で売れます。手元にはSが40個、Tが30個あります。売上金を最大にするには AとBを何個ずつ作るのが最適でしょうか?」というような問題のことです。この場合、未知の変数は Aの個数とBの個数の2つなので手作業で解いてもいいのですが、未知の変数が増えるとたいへん なので適当な計算方法で解きます。シンプレックス法はその1つです。で、Python の float 型で 計算したら計算誤差のせいか問題によっては計算が収束しませんでした。そこで、アルゴリズム 本体はそのままで、入力値(シンプレックス表の要素)のデータ型を fractions.Fraction クラス に変えたところ、うまく解けるようになりました。Fraction クラスは有理数(分子と分母が整数で 表された分数)を実装したクラスで、float に比べて遅いですが計算誤差がありません。アルゴ リズムはそのまま変更なしで、入力値のデータ型を変えただけで収束が改善されたので感激しま した。他の言語(たとえばC言語)でも計算に使うデータ型を変えられるようにプログラムを作る ことはできますが手間がかかります。その点で Python ははるかに手軽で強力だと思いました。
550 名前:522 mailto:sage [2009/07/30(木) 09:14:17 ] 結局a = [i for i in a if a != " "] が分かりやすいので使わせて貰います. ありがとうございました.
551 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 09:49:48 ] filterとかlambdaを無駄に使いたがるヤツには気をつけた方がいい
552 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:36:25 ] >>550 それで良いのかよw if i != ' ' だろ?
553 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 16:48:22 ] 俺はlispいじってたもんでホイホイlambdaやfilterを使っちゃうな
554 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:04:20 ] クラス皆無で関数だらけのスクリプトを量産する漏れみたいなもんだな
555 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 17:41:54 ] [e for e in a if e != ' '] filter(lambda x: x != ' ', a) どっちが速い? 要素が1000万個くらいあっても大丈夫?
556 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 18:34:06 ] >>555 速さなら前者の方が(たぶん倍以上)速い 要素の大きさは、速度よりもメモリの問題が発生する。 リストではなくジェネレータの利用を考慮するといい。 (e for e in a if e != ' ') もしくは itertools.ifilter
557 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 20:26:35 ] 速さなんて考えたこともないぜ
558 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 03:18:40 ] > 要素が1000万個 PyCUDAとか使うべきだぜ!
559 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 08:43:10 ] (e for e in a if e != ' ') [e for e in a if e != ' '] 1000万文字ほど用意して比べたら、 後者が圧倒的に遅く、前者はほぼ一瞬で終ったのですが なんでここまで差がつくの?
560 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 10:12:51 ] ジェネレータ
561 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:08:13 ] そういえば、 1桁〜9桁くらいの数字だけで構成された文字列が大量に格納されたリストって 全部をint型に変換してソートするよりも 全部を文字列のままzfillで0埋めしてソートした方が速かったんだが そういうもんなの?
562 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 22:12:48 ] 今ジェネレータの意味がわかったw 関数系だとデフォで全部かYOって思ってわけわかめだったが、 こういう遅延評価ならわかりやすいな。俺でも使えそうだ。
563 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 07:40:35 ] >>561 kwsk or source
564 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 10:55:54 ] そりゃ文字列だったのをそのままソートと 文字列だったのを数値に変換してソートだと 数値変換の処理が余計なステップになるよね
565 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 12:56:06 ] みんなエディタ何使ってるの?
566 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:00:11 ] zfillで0埋めする処理は余計なステップにならないのか
567 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 14:05:01 ] Pythonぐらい簡単でゲーム作るのに適した言語ない?
568 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 15:11:23 ] sqliteで、最後に挿入した行のrowidを取得する方法ってないのでしょうか? c/c++なら「sqlite3_last_insert_rowid」というAPIがあるのですが・・・
569 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 15:28:13 ] cursor.lastrowid
570 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 17:36:57 ] >>561 そりゃ少なくとも2倍以上メモリ消費してるしな
571 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 22:09:46 ] >>567 RPGツクールに内蔵されたRubyだな。
572 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 16:01:12 ] 質問なんですが Linux上のPyGTK + Gladeで作ったアプリを Pythonなどがインストールされていない まっさらの状態のXPで動くようにしたいんですが 一緒にライブラリとかを同梱させれば可能になるんでしょうか? 可能ならそういった情報が乗ってるサイトとかを 教えてください
573 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 23:28:50 ] py2exeじゃダメなん?
574 名前:デフォルトの名無しさん [2009/08/17(月) 14:06:43 ] 3.1.1 の Windows インストーラ版はまだかな〜
575 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 21:19:27 ] Pythonの属性について。 モジュールオブジェクトやインスタンスオブジェクトobjに対して、 obj.x = x のように、新しい属性をつけることはできますが、 文字列オブジェクト等でこれをやると、AttributeErrorが発生します。 これは文字列オブジェクト等の__setattr__()メソッドがエラーを発生するように定義してある、 という理解で良いのでしょうか?
576 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:02:27 ] >>575 組み込みオブジェクトは実装上そうなってる。 実際 class myStr(str): pass と継承すれば望みのことが可能。 Pythonはそのへんの美しさは二の次なので好き嫌いが分かれるかも。
577 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:06:48 ] 文字列はimmutableだし美しさを損なってるってほどでもないような
578 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 23:50:14 ] >>576 理解力が悪くてすみません。 strを継承したクラスのインスタンスには属性を追加できる → __setattr__()は関係ないってことで良いでしょうか?
579 名前:575 mailto:sage [2009/08/18(火) 00:14:45 ] 連続で申し訳ないです。 今いろいろいじっていたら、そもそも組み込みオブジェクトが __dict__属性を持っていないことがわかりました。 オブジェクトの属性は__dict__に格納されているみたいなんですが、 じゃあこの__dict__自身はどうなっているのでしょうか。 混乱してきましたw
580 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 13:21:44 ] >>579 __dict__ は dict型のオブジェクトだよ。 属性の管理方法は、組み込み型ならC言語で自由に管理できるし、Pythonのclassで __setattr__ を定義しない場合はデフォルトの __setattr__ が __slots__ か __dict__ を使って 管理する。
581 名前:575 mailto:sage [2009/08/18(火) 15:50:11 ] >>580 ああ、なるほど__slots__ですか。 これを定義しておくと、これに格納されていない名前の属性は付けられなくなるんですね。 ありがとうございました。
582 名前:デフォルトの名無しさん [2009/08/18(火) 17:49:09 ] # main.py import mymodule print mymodule.getmypath() # mymodule/__init__.py def getmypath(): return __file__ 引数等に何も渡さずにgetmypath()でmain.pyのファイルパスを取得する方法はありますか? python2.5を使ってます
583 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:06:27 ] os.fullpath(__FILE__)
584 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:35:37 ] これでいいの? sys._getframe().f_back.f_code.co_filename
585 名前:582 mailto:sage [2009/08/18(火) 20:25:52 ] >>584 できました!ありがとうございます。
586 名前:586 [2009/08/19(水) 21:17:25 ] はじめまして。 BeautifulSoupを使っていて、 <class 'BeautifulSoup.NavigableString'>をstrに 変換するにはどうすればよいのでしょうか?