Pythonのお勉強 Part18
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/04/09(月) 04:14:41Pythonのお勉強 Part17
http://pc11.2ch.net/test/read.cgi/tech/1171613101/
日本Pythonユーザ会
http://www.python.jp/
Python オフィシャルサイト
http://www.python.org/
<関連スレ>
Microsoft IronPython 1.0
http://pc8.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
http://pc8.2ch.net/test/read.cgi/tech/1153585095/
Python Challengeをやろう!
http://pc11.2ch.net/test/read.cgi/tech/1175919288/
<まとめwiki>
http://python.rdy.jp/
<参考サイト>
Python ドキュメント
http://www.python.jp/doc/release/
Dive Into Python
http://diveintopython.org/toc/
PEP(Python Enhancement Proposal
http://www.python.org/dev/peps/
0153デフォルトの名無しさん
2007/04/18(水) 18:09:570154デフォルトの名無しさん
2007/04/18(水) 18:18:03頼むから宿題レベルはどこかよそでやってくれ。スレ汚すな。
0155デフォルトの名無しさん
2007/04/18(水) 18:20:27認定キチガイ乙。
0156デフォルトの名無しさん
2007/04/18(水) 18:20:49レベルはどうしようもないだろ
0157デフォルトの名無しさん
2007/04/18(水) 18:22:520158デフォルトの名無しさん
2007/04/18(水) 18:24:31標準ドキュメント嫁
0160デフォルトの名無しさん
2007/04/18(水) 18:51:27いやいや、最新ではないとはいえ、こんなに親切丁寧で分かりやすい、
しかも**日本語**のドキュメントがあるじゃまいか、ほかに何か必要か?
「枕の下に敷くべき」ライブラリリファレンスもちゃんとあるぞ。
http://www.python.jp/doc/release/lib/
翻訳プロジェクトの中の人マジで乙。いい訳してる。
0161デフォルトの名無しさん
2007/04/18(水) 18:54:500162デフォルトの名無しさん
2007/04/18(水) 19:04:11そのままコピペして使ったらちょっとしたtypoでエラーが出た所あったぞ・・・
0163デフォルトの名無しさん
2007/04/18(水) 19:05:51報告しろ
それか、お前が中の人になって直せ
ドキュメント翻訳は勉強になるぞ
0164デフォルトの名無しさん
2007/04/18(水) 19:14:01ちゃんとしたドキュメントが無い分野のハウツーを開拓するのでせいいっぱいだ
0165デフォルトの名無しさん
2007/04/18(水) 19:26:280166デフォルトの名無しさん
2007/04/18(水) 19:27:37そう、君の頭の中に住むアイツだよ(wwww
0167デフォルトの名無しさん
2007/04/18(水) 19:30:260168デフォルトの名無しさん
2007/04/18(水) 19:47:151) オレ
2) アイツ
3) 脳内妹
4) 時々オカン
0169デフォルトの名無しさん
2007/04/18(水) 23:05:58見つけた!
組み込み関数の reduce の説明で lambda が labmda になってる部分だった。
ttp://www.python.jp/doc/release/lib/built-in-funcs.html
本家の英文は2.5だけど、正しく lambda になってる
0170デフォルトの名無しさん
2007/04/18(水) 23:12:310171デフォルトの名無しさん
2007/04/19(木) 05:23:440172デフォルトの名無しさん
2007/04/19(木) 07:24:49コピペするだけのゆとりか。
0173デフォルトの名無しさん
2007/04/19(木) 10:55:17見るだけでスペルミスや引数間違いを発見するスーパーハカー登場!!
0174デフォルトの名無しさん
2007/04/19(木) 11:01:48他人の間違いを指摘しながら自分が間違っている低脳よりマシなのだから騒ぐな
0175デフォルトの名無しさん
2007/04/19(木) 11:17:00labmda が lambda の typo だってのは明らかじゃね?
0176デフォルトの名無しさん
2007/04/19(木) 11:23:40そして,細かいことばかり気になる奴に限って
現場で役に立たないことも明らかかつ一般的なな事実
0177デフォルトの名無しさん
2007/04/19(木) 11:46:220178デフォルトの名無しさん
2007/04/19(木) 12:21:05バランスが肝心だね。
0179デフォルトの名無しさん
2007/04/19(木) 14:25:11ironpythonとADO.NET(+Npgsql)を使ってやるという手段も考えましたが、定石みたいなものはあるのでしょうか。
古いものについては、下記のドキュメントが見つかったのですが。。
PyGreSQL - Python インタフェース
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/pygresql.html
0180デフォルトの名無しさん
2007/04/19(木) 16:17:550181デフォルトの名無しさん
2007/04/19(木) 16:30:392.5対応はまだまだですかね?
それとも必要無い?
0182デフォルトの名無しさん
2007/04/19(木) 17:24:27DB関係は特定DB用じゃなくORマッパーなるものを介して
ある程度汎用につくってそれを PostgreSQLなりMySQLなりに
つなぐものらしい
SQLobject とかいろいろあるらしい
詳しくは次の人↓
0183デフォルトの名無しさん
2007/04/19(木) 17:48:20とりあえず今のtypo直すのが先かと
0184デフォルトの名無しさん
2007/04/19(木) 18:22:310185デフォルトの名無しさん
2007/04/19(木) 18:41:44レスありがとうございます。まさにADO.NETみたいな抽象化したライブラリがあるのでしょうか。
日本語ドキュメントを見つけたので目を通してみます。
http://ymasuda.jp/python/sqlobject/doc_0.7/index.html
0186デフォルトの名無しさん
2007/04/20(金) 00:45:57おーきてるー
0187デフォルトの名無しさん
2007/04/20(金) 03:23:59pykfのsplitを便利に使ってたから再度公開してください
0188デフォルトの名無しさん
2007/04/20(金) 12:03:030189デフォルトの名無しさん
2007/04/20(金) 19:14:020190デフォルトの名無しさん
2007/04/21(土) 10:17:07easy_install でインストールしたやつを共有する方法ってありますか?
0191デフォルトの名無しさん
2007/04/21(土) 20:51:26ttp://www.python.jp/Zope/download
ってページ見つけたんだけど、
・Python標準リリース
・日本語環境用インストーラ(Win32)
ってどっちがオススメ?(ちなみにWinXP SP2に入れる)
上はバージョン2.5みたいだし
下はバージョン2.3って書いてあるけど日本語ドキュメント添付でSJIS・日本語ファイル名対応って書いてあるし。
それとも、もっといいトコがあるのかしら。
0192デフォルトの名無しさん
2007/04/21(土) 21:22:370193デフォルトの名無しさん
2007/04/21(土) 21:41:532.5には対応してないのもあったりするけど
普通にpythonの勉強してみようってことならとりあえず最新でいいんじゃね?
0194デフォルトの名無しさん
2007/04/21(土) 21:55:250195デフォルトの名無しさん
2007/04/21(土) 21:57:220196デフォルトの名無しさん
2007/04/21(土) 22:10:570197デフォルトの名無しさん
2007/04/21(土) 23:34:56ネタじゃなくホントだったら嬉しい!
0198デフォルトの名無しさん
2007/04/21(土) 23:44:520199デフォルトの名無しさん
2007/04/22(日) 00:57:34これってワンライナーしか無理?
0200191
2007/04/22(日) 01:37:15日本語環境の方が安心なんじゃ…?と思って訊きました。
とりあえず2.5入れてみます。
ありがとうございました。
0201デフォルトの名無しさん
2007/04/22(日) 01:47:470202デフォルトの名無しさん
2007/04/22(日) 02:14:430203デフォルトの名無しさん
2007/04/22(日) 15:30:27みたいなエラーがでて読み取れなくなるような
状態になったから2.4にもどしたよ
0204デフォルトの名無しさん
2007/04/22(日) 15:30:48どんなライブラリが良いでしょうか? 開発はwindows上です。
アニメは単に動画上の物体をトレースするマーキングみたいなもので出来れば、動画のランダム再生で
シンクロできるようにしたいと思っています。
0205デフォルトの名無しさん
2007/04/22(日) 15:32:270206デフォルトの名無しさん
2007/04/22(日) 15:44:28動画関連でこのスレが盛り上がったためしがないので、多分知ってる人は誰も見てない希ガス
0207デフォルトの名無しさん
2007/04/22(日) 16:29:34key val
----------
A 1
A 2
B 1
B 3
B 4
C 1
C 3
これから
{ 'A': [1, 2], 'B': [1, 3, 4], 'C': [1, 3] }
というdictをつくりたいんですが、一番スマートな方法はどのようになりますか。
今は次のようにしていますが、なんかもっといい方法がないかと思っています。
import MySQLdb
conn = MySQLdb.connect()
curosr = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
cursor.execute("select key, val from table1")
lst = cursor.fetchall()
table = {}
for dct in lst:
key, val = dct['key'], dct['val']
values = table.get(key)
if values is None:
table[key] = values = []
values.append(val)
0208デフォルトの名無しさん
2007/04/22(日) 16:48:28事実上1行のみ。;使えば多少は回避できるけど。
PyOneなんて半ばジョークのラッパースクリプトがあるが、
これ使うレベルのものになったら素直にファイルに書いた方がいいと思う。
0209デフォルトの名無しさん
2007/04/22(日) 16:57:03ググれカス
0210デフォルトの名無しさん
2007/04/22(日) 17:30:360211デフォルトの名無しさん
2007/04/22(日) 17:48:580212デフォルトの名無しさん
2007/04/22(日) 17:56:22少し短くはした。
>>> lst = ({'val': 1, 'key': 'A'}, {'val': 3, 'key': 'A'}, {'val': 2, 'key': 'B'})
>>> table = {}
>>> for dct in lst:
... key,val = dct['key'],dct['val']
... if not key in table.keys():
... table[key] = []
... table[key].append(val)
...
>>> table
{'A': [1, 3], 'B': [2]}
0213デフォルトの名無しさん
2007/04/22(日) 17:58:07>>> for dct in lst:
... key,val = dct['key'],dct['val']
... if not key in table.keys():
... table[key] = []
... table[key].append(val)
0214デフォルトの名無しさん
2007/04/22(日) 17:59:18おれはこんなユーティリティ関数でどうにかしてる
self 使うのは癖
>>> def frompairs(sequence, multicast = False):
... self = {}
... for k, v in sequence:
... if multicast:
... self[k] = self.get(k, []) + [v, ]
... else:
... self[k] = v
... return self
0215デフォルトの名無しさん
2007/04/22(日) 18:11:52False
0216デフォルトの名無しさん
2007/04/22(日) 18:13:56hogedict[k].append(v) if k in hogedict else hogedict[k] = [v]
って書けるようになるの?
0217デフォルトの名無しさん
2007/04/22(日) 18:26:04hg
---------
#!C:\applications\Python25\python.exe
from mercurial import commands
commands.run()
---------
0218デフォルトの名無しさん
2007/04/22(日) 18:26:35elseの右に文は無理
0219デフォルトの名無しさん
2007/04/22(日) 18:27:28∀key∀table∈dict((key in table.keys()) == (key in table))
0220デフォルトの名無しさん
2007/04/22(日) 18:29:25table = {}
cur1 = conn.cursor()
cur1.execute("SELECT key FROM table1")
for key, in cur1.fetchall():
cur2 = conn.cursor()
cur2.execute("SELECT val FROM table1 WHERE key = '%s'" % key)
table[key] = [x for x, in cur2.fetchall()]
sqliteでしか試してないんで、動かなかったらごめん
0221デフォルトの名無しさん
2007/04/22(日) 18:30:21... else hogedict.__setitem__(k,[v])なら可能だけど明らかにspaghetti
0222デフォルトの名無しさん
2007/04/22(日) 18:34:56http://python.rdy.jp/wiki.cgi?page=%CC%E4%C2%EA%BD%B8
(あと、カテゴリ分けをちょっと変更
0223デフォルトの名無しさん
2007/04/22(日) 18:51:11読みにくくなってメリットないと思うけど。
0224デフォルトの名無しさん
2007/04/22(日) 18:53:470225デフォルトの名無しさん
2007/04/22(日) 18:55:50読みにくくなるときは使わなければいいんですよ
0226デフォルトの名無しさん
2007/04/22(日) 18:59:400227デフォルトの名無しさん
2007/04/22(日) 19:02:180228デフォルトの名無しさん
2007/04/22(日) 19:41:43問題と答えを別けた方がいいような気がする。
0229デフォルトの名無しさん
2007/04/22(日) 19:50:310230デフォルトの名無しさん
2007/04/22(日) 19:51:17表紙で選ぶなら
実践Python〜文字列操作からWebアプリケーション開発まで
を買うな
0231デフォルトの名無しさん
2007/04/22(日) 19:53:230232デフォルトの名無しさん
2007/04/22(日) 19:59:510233デフォルトの名無しさん
2007/04/22(日) 20:01:430234デフォルトの名無しさん
2007/04/22(日) 20:09:030235デフォルトの名無しさん
2007/04/22(日) 20:13:06python -m CGIHTTPServe
を実行したら止まらなくなっちゃいました><
止め方を教えてください
0236デフォルトの名無しさん
2007/04/22(日) 20:40:01setdefault は?
>>> lst = [("A", 1),("A", 2),("B", 1),("B", 3),("B", 4),("C", 1),("C", 3),]
>>> table = {}
>>> for k, v in lst:
... table.setdefault(k, []).append(v)
>>> table
{'A': [1, 2], 'C': [1, 3], 'B': [1, 3, 4]}
0237デフォルトの名無しさん
2007/04/22(日) 20:48:24コマンドプロンプト閉じる
0238デフォルトの名無しさん
2007/04/22(日) 21:54:300239238
2007/04/22(日) 22:03:38何か寂しくなっちゃって全然関係ないこと書き込みしちゃいました。
反省したので明日ボウズにしてきます。
(;_;)
0240デフォルトの名無しさん
2007/04/22(日) 22:44:320241デフォルトの名無しさん
2007/04/22(日) 22:59:21ゴールデンウィーク前だからって気を抜かず仕事しろよ。
0242241
2007/04/22(日) 23:09:30何か寂しくなっちゃって全然関係ないこと書き込みしちゃいました。
自分の精神状態が不安なので、明日キチガイ病院に入院します。
(;_;)
0243デフォルトの名無しさん
2007/04/22(日) 23:10:14さっさと消えろクズ
0244デフォルトの名無しさん
2007/04/22(日) 23:10:53pygameが良い気がする。
mpegを読めるはず(試したことは無いです)。
0245デフォルトの名無しさん
2007/04/22(日) 23:52:32hogedict[k] = hogedict[k]+[v] if k in hogedict else [v]
とかなら書けるのかな。
なんか裏の処理(リストがappendではなく再生成?)で無駄が発生しそうな気がするけど。
0246デフォルトの名無しさん
2007/04/22(日) 23:55:25それイイ(・∀・)ね。
0247デフォルトの名無しさん
2007/04/23(月) 00:47:37それ、結構最初はどきっとするんだけど
実はCtrl + Breakか何かで止められる。
…正確なキーを忘れてしまったがorz
0248デフォルトの名無しさん
2007/04/23(月) 02:10:330249デフォルトの名無しさん
2007/04/23(月) 04:50:39http://www.python.org/dev/peps/pep-3119/
0250デフォルトの名無しさん
2007/04/23(月) 06:45:48>>> import itertools
>>> records
({'val': '1', 'key': 'A'}, {'val': '2', 'key': 'A'}, {'val': '1', 'key': 'B'}, {'val': '3', 'key': 'B'}, {'val': '4', 'key': 'B'}, {'val': '1', 'key': 'C'}, {'val': '3', 'key': 'C'})
>>> dict([(key, [v[1] for v in vals]) for key, vals in (itertools.groupby(sorted([(r['key'],r['val']) for r in records]),lambda x: x[0]))])
{'A': ['1', '2'], 'C': ['1', '3'], 'B': ['1', '3', '4']}
>>>
スマートかどうかの判断は任せるよ。
0251デフォルトの名無しさん
2007/04/23(月) 12:47:150252デフォルトの名無しさん
2007/04/23(月) 13:07:14■ このスレッドは過去ログ倉庫に格納されています