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


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

Pythonのお勉強 Part 27



1 名前:デフォルトの名無しさん [2008/06/13(金) 04:22:02 ]
Python オフィシャルサイト
ttp://www.python.org/
ttp://www.python.org/doc/
日本Pythonユーザ会
ttp://www.python.jp/Zope/
ttp://www.python.jp/doc/
FrontPage - Pythonのお勉強
ttp://python.rdy.jp/
前スレ
pc11.2ch.net/test/read.cgi/tech/1209480428/
◆関連スレッド
Microsoft IronPython 1.0
pc11.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
pc11.2ch.net/test/read.cgi/tech/1153585095/
Python Challengeをやろう!
pc11.2ch.net/test/read.cgi/tech/1175919288/
Pythonについて(アンチ専用)
pc11.2ch.net/test/read.cgi/tech/1203557046/
Pythonに見られるインデントによる制御構造の是非
pc11.2ch.net/test/read.cgi/tech/1169473442/
pythonがこの先生きのこるには
pc11.2ch.net/test/read.cgi/tech/1167996371/
Eclipse統合M25【Java/C/PHP/Ruby/Python/Perl】(PyDev)
pc11.2ch.net/test/read.cgi/tech/1211505494/
【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】
pc11.2ch.net/test/read.cgi/tech/1209289408/
デザパタ + Python/Ruby/Smalltalk part2
pc11.2ch.net/test/read.cgi/tech/1175959706/
2ch検索: [python]
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python

281 名前:デフォルトの名無しさん [2008/06/25(水) 09:13:42 ]
もう単純に Tkinter でウィジェットを配置しようとして
失敗すれば CUI にフォールバックすることにした.
んが,なんか CUI しかない環境でも例外でねぇ・・・・

282 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 09:54:59 ]
emacsみたいに引数でユーザに指定させるのが現実的じゃないの?
-nwで端末モード、みたいな

283 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:43:00 ]
Emacs は X Window System 環境下では環境変数 DISPLAY の有無で GUI か CUI かを決めてた気がする。
Windows については知らない。

284 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:39:54 ]
webbrowser.py より

if os.environ.get("DISPLAY"):
...

# Also try console browsers
if os.environ.get("TERM"):
...

ということで、少なくとも 2.5 の webbrowser.py では
環境変数の有無で決めてるね。DISPLAY優先。

cygwin で webbrowser 使うと w3m になるよ。

285 名前:デフォルトの名無しさん [2008/06/25(水) 12:49:53 ]
>>281 なんかかんちGuy

例外でないって言ったけど,import Tkinter では例外でないが
a = Tkinter.Frame(None, "しね")
で例外が出た.

_tkinter.TclError: no display name and no $DISPLAY environment variable

まぁ結局 DISPLAY をチェックしているだけみたいなんだけどさ.
というわけで,Tkinter.TclError が投げられるかで判定することにします.

286 名前:デフォルトの名無しさん [2008/06/25(水) 12:50:37 ]
ちなみに Windows で cygwin の sshd 動かして
リモートからつないだような場合にどうなるかは
天気がよくなったら試してみる.

287 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:18:42 ]
Windowsの場合リモートでcmdでGUIの実行すると
相手側の端末にWindow出ててワロス


288 名前:デフォルトの名無しさん [2008/06/25(水) 14:24:05 ]
予想通りだ罠
X サーバー/クライアントで
どっちがどっちか判ってないような人たちが使う OS だし

289 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:31:01 ]
あはははは。



290 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 16:57:16 ]
>>287
そりゃ、プロセスが走ってる場所を考えれば当たり前だが、
この動作は間抜けすぎる。

291 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:04:03 ]
そういう環境でうっかりリモートに保存しておいた画像を見ようと
win> display erogazou.jpg
とかやっちゃったり…

292 名前:デフォルトの名無しさん [2008/06/25(水) 17:12:02 ]
>>>291 ねーよwww

ところで,>>287 のような動作って今の Windows でもそうなの?
Windows 95/98/98SE/Me のころまではそうだった気がするけど,
2000 以降ってセッションの概念がちゃんと導入されていて,
そういう変なことは起こらないようになっているんじゃなかったっけ?
POSIXでいうセッションとは違ってWindowsにおける
ターミナルセッションのことだけど.

293 名前:デフォルトの名無しさん [2008/06/25(水) 19:10:03 ]
Ruby使ってましたがPythonの勉強を始めました
Pythonは
['hoge','fuga'].each{|w|...}
的な、シーケンスにイテレータメソッドを適用するような書き方ってできますか?
チュートリアルにはforを使う書き方しか書いてなかったので、
どうかと思ったのですが

294 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:21:02 ]
>>292
ウィンドウマネージャに相当する機能が分離できない以上 Windows にそういうことを期待しない方がいいだろ
しかしつくづくクライアント向けOSなのな

295 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:00:54 ]
>>293
Pythonではリスト内包表記かmap関数かforで書く

296 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:07:33 ]
>>294
X サーバー/クライアントで
どっちがどっちか判ってないような人たちが設計した OS だし

297 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 07:07:49 ]
それでライフハックのつもりなんですね。分かります

298 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 08:14:02 ]
イミフ

299 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 09:43:04 ]
ライフハックの意味を知ってるのかね.



300 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 09:50:48 ]
ライフハック = 貧乏人の悪あがき

301 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 10:13:45 ]
ライフハックってスケジュール管理のノウハウのことだろ
正にイミフ

302 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 10:13:48 ]
アナルファックのほうがPython的だよね。

303 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 11:04:47 ]
3.0b1 では file(...) なくなってるのな。
file って2.0 系で来たんだよね?確か。
せっかく open やめて file 使うようにしたのに、、、

まぁもちろん2つあるより1つのほうがいいけどさ。

304 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 11:28:18 ]
メインループの中で作業実行スレッドを監視するスレッドを呼び、
その中で作業実行スレッドを呼んでいます。

作業実行スレッドの中でCOMの操作を行っているのですが、
そのCOM操作を行うとき、稀に動作が止まってしまい、
作業実行スレッドもそれに伴い、止まってしまうことがあります。

このとき、監視するスレッドで、作業実行スレッドの強制終了を行いたいのですが、
Pythonでスレッドの強制終了を行う方法はありますでしょうか?

CのTerminateThreadのような動作が出来るものを探しています。

説明が分かり辛いなどありましたら申し訳ありません。
どなたかご教授願えますでしょうか?

305 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 11:31:34 ]
よくわからんがプロセスわければ

306 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 11:42:50 ]
>>303
>せっかく open やめて file 使うようにしたのに、、、

入門書嫁。

307 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:22:04 ]
>>302
今週末のことを考えるとアナルがうずうずします.

308 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:58:45 ]
>>303
2.4ぐらいからopenの方が推奨されるようになった

309 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 13:18:31 ]
>>307
アナルは形容詞なので、その場合はアヌスと書くべきでしょう。
Pythonの達人たちの前でこれを間違うと、単一電池1ダース挿入の刑なので注意してください。



310 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 13:44:29 ]
>>309
ごめんなさい!
こんどキャバクラに連れて行くので許してください!

311 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 13:45:01 ]
電池って直接挿入するの?やばくね?

312 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 13:46:49 ]
>>309
>Pythonの達人たちの前でこれを間違うと、単一電池1ダース挿入の刑

ゴミが集まる場所で言ってもオッケーということですね、分かります。

313 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 14:33:19 ]
>>308
残念。2.4ではfileの方が推奨されていた。
立場が逆転したのは2.5からだ。

314 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 15:12:56 ]
>>313
www.python.org/doc/2.4.1/lib/built-in-funcs.html#l2h-25
>The intent is for open() to continue to be preferred
>for use as a factory function which returns a new file object.
>The spelling, file is more suited to type testing
>(for example, writing "isinstance(f, file)").

315 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 15:29:37 ]
file はクラス名として使うから,
open() をファクトリ関数として使うよ,ってこと?

316 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 21:43:56 ]
listの要素をsetに追加する際は次のようにしか書けないの?

>>> alist = [1,2,3,4]
>>> aset = set()
>>> for i in alist: aset.add(i)

もし他になんかかっこいいイディオムがあれば教えてませんか。

317 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 21:51:29 ]
aset(alist)

318 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 21:56:41 ]
自己解決しました。
>>317では動かなかったけど次のようにしたら動きました。

aset = set(alist)

いちおうありがとう。

319 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:03:41 ]
alistとか書くと連想リストみたいでいやん



320 名前:316==318 mailto:sage [2008/06/26(木) 22:07:39 ]
www.python.jp/doc/release/lib/types-set.html

ちなみにこれぐらい↑に書いといてくれればいいのにな、と思った。

321 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:16:04 ]
>>> help(set)
class set(object)
 |  set(iterable) --> set object

322 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:28:31 ]
>>320
www.python.jp/doc/release/lib/built-in-funcs.html
こっちには書いてあるんだけどな。

323 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 02:59:05 ]
ちょっと気になったんだけど

s = open("hoge")

てやると、s は暗黙的に str になるわけ?
これが py3.0 にあると unicode を返すようになるの?
すると、テキストファイルとバイナリファイルの違いはどうなるの?

open("hoge", "rb")



open("hoge", "r")

では違うオブジェクトが返るの?


324 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 03:40:23 ]
>>323
なんでstr?

325 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 03:52:58 ]
失礼、なんか勘違いしてた。疑問なのは
open じゃなくて
read したときの戻り値だ

326 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 10:05:36 ]
>>323
docs.python.org/dev/3.0/library/functions.html#open

327 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 10:23:45 ]
要素がなければNoneを返すようにする方法ってあります?
次のようなコードをすっきりさせたいんですが。

try:
avar = ainstance.hoge
except:
avar = None

ainstanceの属性hogeをavarに入れたい。
属性hogeが存在しなければavarにNoneを入れたい。

328 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 10:36:51 ]
avar = getattr(ainstance, 'hoge', None)

329 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 10:37:00 ]
getattr(ainstance, 'hoge', None)



330 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 10:40:35 ]
>>328,329
すごい。ありがとうございます。

331 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 11:12:59 ]
入門書嫁>330

332 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:32:21 ]
こんな感じの2次元配列データに関数f(xy)をmapして
meshdata=[ [x11,y22],[x12,y12] ,...] ,[ [x21,y21],...],...

[[z11,z12,...][z21,z22,...]]

したいのだけど
べたなループ以外に綺麗に書く方法ないのでしょうか

333 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:37:26 ]
添え字間違ったので再度

こんな感じの2次元配列データに
meshdata=[ [x11,y11],[x12,y12] ,...] ,[ [x21,y21],...],...
に関数f(xy)をmapして

[[z11,z12,...][z21,z22,...]]

を出力したいのだけど
べたなループ以外に綺麗に書く方法ないのでしょうか



334 名前:333 mailto:sage [2008/06/27(金) 17:03:01 ]
自己解決
[[f(xy[0],xy[1]) for xy in line] for line in meshdata]

335 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 19:27:16 ]
二次元っていうより対角線だけの一次元のような気が・・・

336 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 20:41:56 ]
ひょっとして内胞リストってlispよりも強力なの?

337 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:24:04 ]
>>336
マルチ乙
その記事は2001年で古いから、今ならジェネレータ式という選択もある。

338 名前:333 mailto:sage [2008/06/27(金) 21:48:00 ]
meshdata=[ [x11,y11],[x12,y12] ,...] ,[ [x21,y21],[x22,y22]...],...
で列方向(横方向)の処理は
[reduce(plot_line_between_two_point,line) for line meshdata]
で出来るけど同じような処理を行方向(縦方向)にするには
forでべた書きするしかないのでしょうか?


339 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:19:50 ]
zip(*meshdata)



340 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:29:47 ]
meshimada ?

341 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:50:48 ]
moutabetadesho

342 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:36:19 ]
クラスからインスタンスを作り、それを配列に入れる。
そのインスタンスの集合に''A'と言う名前をもつものがいるかを
A in tlistで取りたい。
__contains__を使えば取れるかなって思ったけど取れなかった。
nameをキーにもつ辞書を作ればできるけど、できればやらずに済ませたい。
こういう場合どのようは方法が取れますか?


サンプルコード

class T(object):
    def __init__(self,name,stype):
        self.name=name
        self.stype=stype
    def __contains__(self,key):
        return key in self.name

def main():
    tlist=[]
    for k in ['A','B','C']:
        tlist.append(T(k,k))
    if 'A' in tlist:
        print 'A contains in tlist'
    else:
        print 'A exclude in tlist'
if __name__=='__main__':main()



343 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:51:26 ]
def __eq__(self, other):
 return other == self.name

344 名前:342 mailto:sage [2008/06/28(土) 02:12:30 ]
>>343
ありがとうございます。出来ました。
__eq__を使えばよかったのですね。


345 名前:デフォルトの名無しさん [2008/06/28(土) 03:55:06 ]
起動に時間のかかる cmd をパイプで何度も使用したいのだけど

pin, pout = os.popen2(cmd, 'r+')
pin.write(hoge)
pin.flush()

pin.flush() ではパイプは開始されず、
pin.close() ではパイプは通るものの、次回 cmd を再起動しないといけない。
os.fsync() とか python -u とか試したけど変化なしでした。

つまり cmd を一度起動したらそのまま保持したいのです。

ruby は IO.popen で sysnc = true にすると flush() で
パイプを使いまわせるっぽいけど、
python は何か別のやり方があるのだろうか。



346 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 05:21:44 ]
>>343-344
結果はそうだけど
なんか間違ってるよ君ら

347 名前:デフォルトの名無しさん [2008/06/28(土) 05:59:51 ]
pin, pout = popen2.popen3(cmd)
pin.write(hoge)
pin.flush()

348 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 06:15:41 ]
コマンドライン引数で,

python -uとするか,

PYTHONUNBUFFERED=x python

349 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 06:20:12 ]
316 :デフォルトの名無しさん:2007/12/18(火) 08:15:43
xinetdにサービスを登録しようと思い以下のようなスクリプトを書きました。
サーバに送信した文を[]で囲んで返すというものです。が、なぜかクライアントのrecvで受信待ちになってしまいます。
クライアントの通信先をechoに変えたところ、recvは正常に受信し、文字はちゃんと表示されました。
またサーバのsyslogには、正しくprint [hogeron]と記録されています。
現象から見ると、どうもサーバのprintで、ちゃんと送信されていないっぽいです。
os.environ['PYTHONUNBUFFERED'] = '1' で、バッファしないように設定しているのですが…
どうすれば正常に動かせますか?
317 :デフォルトの名無しさん:2007/12/18(火) 08:16:24
【サーバ】 --
import os,sys,syslog
os.environ['PYTHONUNBUFFERED'] = '1'
line = sys.stdin.readline()
if line.endswith('\n'):line = line[:-1]
result = '['+line+']'
print result
syslog.syslog('print '+result)
-- 【クライアント】 --
import socket
host = 'localhost'
port =6363
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
s.send('hogeron')
str = s.recv(1024)
print str
s.close()



350 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 07:38:26 ]
>>339
listの先頭に*つけるのってどういう意味なの?
調べても出てこなかった

351 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 08:05:32 ]
俺はパイソン。
俺もお前も。

352 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 08:08:00 ]
>>350
関数の引数に、リストの要素をばらして入れたいときに使う。

hoge = [a, b, c]
をつかって、関数に
f(a, b, c)
と入れたいときに、
f(*hoge)
とする。


353 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 08:30:21 ]
>>350
ほい。
www.python.jp/doc/release/tut/node6.html#SECTION006740000000000000000
docs.python.org/tut/node6.html#SECTION006740000000000000000

354 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 08:37:41 ]
書き方は一通りというPythonの原則を崩す機能ですな

355 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:24:03 ]
>>353
これってtupleしか受け付けないかと思ってたらイテレータなら何でも大丈夫っぽいな

356 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:33:15 ]
その書き方初めて知った

357 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:16:39 ]
>>333
>>> mesh_array = [ [(0,0),(0,1),(0,2)], [(1,0),(1,1),(1,2)] ]
>>> mesh_array = [ [(0,0),(0,1)], [(1,0),(1,1)] ]
>>> def f(x,y): return x+y
...
>>> [[f(p[0],p[1]) for p in low] for low in mesh_array]
[[0, 1], [1, 2]]

座標の値はタプルにしたほうが見易いかも
[ [LOW1], [LOW2], ...]で隣り合う点同士の距離は求めれそうだけど

[[C [C 
 O O
 L L
 U U
 M M
 1], 2], ...] 縦方向に走査するのは『転置』しないとめどいような希ガス(間違ってたらスマソ)

358 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:31:26 ]
>>> apply(zip, [(1,2),(3,4)])
[(1, 3), (2, 4)]
>>> apply(zip, [(1,2,3),(4,5,6)])
[(1, 4), (2, 5), (3, 6)]

>>> apply(zip, [(1,2),(3,4),(5,6)])
[(1, 3, 5), (2, 4, 6)]
>>> apply(zip, [(1,3,5),(2,4,6)])
[(1, 2), (3, 4), (5, 6)]

>>> zip([(1,3,5),(2,4,6)])
[((1, 3, 5),), ((2, 4, 6),)]

なんか、最後のapply経由の結果が違うのな…(転置のつくりかた)

359 名前:358 mailto:sage [2008/06/28(土) 10:45:06 ]
てか当たり前ぽ
py3k だと apply がobsoluteで使えなくなっとる…



360 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:56:18 ]
>>> def apply(func,*args): return func.__call__(*args) # これだと駄目みたい…
...
>>> for e in apply(zip, [(1,2),(3,4)]):
... print(e)
...
((1, 2),)
((3, 4),)
>>> apply(zip, [(1,2),(3,4)])
<zip object at 0x01582648>

py3k で廃止されたapplyを復活させるにはどうしたら
良いですか。

361 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:23:46 ]
>>> zip([(1,3,5),(2,4,6)])
[((1, 3, 5),), ((2, 4, 6),)]
>>>
>>> zip((1,3,5),(2,4,6))
[(1, 2), (3, 4), (5, 6)]
>>>
>>> (1,3,5),(2,4,6) # tuple list
((1, 3, 5), (2, 4, 6))
>>>
>>> zip(*tlist)

zip関数は、タプルのリストを渡さないと思ったとおり動かないのね

>>> apply(zip, [(1,3,5),(2,4,6)])
[(1, 2), (3, 4), (5, 6)]
リストから *tlist を取り出してzipを作用させてると…

362 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:24:42 ]
>>360
>>> my_apply = lambda f, args: f(*args)
...
>>> my_apply(zip, ((1,2),(3,4)))
[(1, 3), (2, 4)]

363 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:27:21 ]
>>> def apply(func, args): return func(*args)
...
>>> for e in apply(zip, [(1,2),(3,4)]):
... print e
...
(1, 3)
(2, 4)

いや、最初から zip(*[(1,2), (3,4)])やろうぜ。

364 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:34:24 ]
>>> for e in zip((1,2),(3,4)):
... print(e)
...
(1, 3)
(2, 4)
>>> for e in zip(tuple([(1,2),(3,4)])):
... print(e)
...
((1, 2),)
((3, 4),)

>>> (1,2),(3,4)
((1, 2), (3, 4))
>>> tuple([(1,2),(3,4)])
((1, 2), (3, 4))

zipにリストでデータ渡せないのはどうしてなんだろう…orz

365 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:43:47 ]
引数として一個のリストのリストを渡されたのと複数個のリストを渡されたのを
同一視されたら困るだろ

一体何を悩んでいるのかさっぱり分からん

366 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:45:06 ]
>>363
dくす

>>> for e in zip(tuple([(1,2),(3,4)])): print(e)
...
((1, 2),)
((3, 4),)
>>> for e in zip(*([(1,2),(3,4)])): print(e)
...
(1, 3)
(2, 4)

zip関数というか関数に、『リスト』渡すなら *でキャストして
『引数フォーマット』にしてから渡すよろし、いうことなのね…

引数フォーマットは (1,2),(3,4) != ((1,2),(3,4)) == tuple([(1,2),(3,4)]) と。

367 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 11:51:00 ]
>>365
>>> (1,2),(3,4)
((1, 2), (3, 4))
>>> tuple([(1,2),(3,4)])
((1, 2), (3, 4))

インタラクティブシェル上の出力が同値だから、
引数フォーマット == (tuple,tuple)の形式かと思ったんよ。

引数フォーマット == tuple,tuple # 括弧なしが正しい引数の形式
入門書嫁乙…orz

368 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 12:08:10 ]
>>> あ=(0,1);け=(0,2);ま=(0,3);し=(0,4);て=(0,5) # LOW1
>>> お=(1,1);め=(1,2);で=(1,3);と=(1,4);う=(1,5) # LOW2

>>> mesh_array = [(あ,け),(お,め)]

#ラベルを貼った各点を転置して、加工して出力する
>>> for e in zip(*[(あ,け),(お,め)]): print(e)
...
((0, 1), (1, 1))
((0, 2), (1, 2))
>>>
>>> for e in zip(*[(あ,け,ま,し,て),(お,め,で,と,う)]): print(e)
...
((0, 1), (1, 1))
((0, 2), (1, 2))
((0, 3), (1, 3))
((0, 4), (1, 4))
((0, 5), (1, 5))

369 名前:デフォルトの名無しさん [2008/06/28(土) 19:46:02 ]
パッケージ名としてハイフンを入れた名前を使うことはできないのでしょうか?
www.python.org/doc/essays/packages.html
いままで HogeHoge という名前のパッケージを作っていて,
これを hoge-hoge に変更したいのですが,ダメ?



370 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 20:00:51 ]
だめ。識別子に使うとマイナスと区別つかないから

371 名前:デフォルトの名無しさん [2008/06/28(土) 20:19:30 ]
>>370
なるほど,そうか.
言われてみればそうだよな.
ディレクトリ名がそのまま識別子になるわけだから.
名前空間とかパッケージ周りはどうも C++ から来ると
自由に付けられないのが不便に思えるけど,
その制約が逆にあとから見た時には分かりやすく思えるんだろうな.

372 名前:デフォルトの名無しさん [2008/06/28(土) 23:27:19 ]
simplejson 1.9.1 を MingW32 でコンパイルした.
本当のファイル名は simplejson-1.9.1.win32-py2.5.exe だけど
アプロダに上げたらこんなファイル名になっちゃった.
www.rupan.net/uploader/download/1214663156.exe

373 名前:デフォルトの名無しさん [2008/06/28(土) 23:40:54 ]
2.6 からは simplejson が標準ライブラリに入るのかな?
3.0 からは入るようだけど.

374 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 23:46:33 ]
2.6から
docs.python.org/dev/library/json.html

375 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 23:53:58 ]
>>373
www.python.org/download/releases/2.6/NEWS.txt
Library
-------
- The audiodev module has been deprecated for removal in Python 3.0.

- Issue #2750: Add the 'json' package. Based on simplejson 1.9 and
contributed by Bob Ippolito.

- Issue #1734346: Support Unicode file names for zipfiles.

- Issue #2581: distutils: Vista UAC/elevation support for
bdist_wininst.

- Issue #2635: Fix bug in 'fix_sentence_endings' textwrap.fill option,
where an extra space was added after a word containing (but not
ending in) '.', '!' or '?'.

入ってるみたい

376 名前:デフォルトの名無しさん [2008/06/28(土) 23:55:44 ]
2.6 からか.手間が省けるな.
W3C では JSON DOM binding も標準化されているようだし,
セキュリティの面でちょっと不安もあるけど jsonp 便利だし,
個人的には RSS つーかフィードも JSON でフィードしてくれって感じだ.
そのうち RDF のトリプルもJSON表現の標準が出るかもなぁ.

377 名前:デフォルトの名無しさん [2008/06/29(日) 00:13:28 ]
デバッグ時にヒープのフットプリント(?)を調べようと思って
gc.getobjects() を使ったらできるかなと思ったんだけど,
そもそもオブジェクトのサイズってどうやって求めるんだっけ?
文字とか整数とか実数などの基本型のサイズと参照に必要な
サイズがわかればいいのか?

378 名前:デフォルトの名無しさん [2008/06/29(日) 08:00:40 ]
svk によるレポジトリ分割の作業記録
d.hatena.ne.jp/dayflower/20071211/1197273839

いままで svndumpfilter, svndumpfilter2, svndumpfilter3, svndumpfilter4
とか使ってうまく行ったり行かなかったりしたが,結局 svk でうまくいった.
本来の使い方とは全然違うところでお役立ち.ありがとう,svk

svk って perl で書かれてるんだね.

379 名前:デフォルトの名無しさん [2008/06/30(月) 05:02:57 ]
Tkinter ではプログラムの最後にウィジェットの
mainloop() を呼び出して放置します。
表示されたウィンドウをマウスでクローズすればプログラムは終了しますが、
そうではなくて自発的にウィンドウをクローズしてプログラムを
終了させる方法は無いでしょうか?

別スレッドから何かをすればいいのでしょうか?



380 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 08:03:05 ]
sys.exit() すれば?

381 名前:デフォルトの名無しさん [2008/06/30(月) 11:01:22 ]
おおヴ
たとえば複数のウィンドウ作ってそれぞれmainloopしてるとき
個別にmainloopから抜けるのは無理ですか?







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

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

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