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


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

Pythonのお勉強 Part23



1 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:23:39 ]
Python オフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
FrontPage - Pythonのお勉強
python.rdy.jp/
前スレ
pc11.2ch.net/test/read.cgi/tech/1196426978/

◆関連スレッド

Microsoft IronPython 1.0
pc11.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
pc11.2ch.net/test/read.cgi/tech/1153585095/
2ch検索: [python]
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python

◆関連サイト

Python ドキュメント
www.python.jp/doc/release/
参考サイト - Pythonのお勉強
python.rdy.jp/wiki.cgi?page=%BB%B2%B9%CD%A5%B5%A5%A4%A5%C8

以上

308 名前:デフォルトの名無しさん [2008/02/09(土) 08:34:40 ]
>>293
見易さのためだけに関数化するのは馬鹿のすること。

pc11.2ch.net/test/read.cgi/tech/1169473442/549


309 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 08:38:40 ]
>>308
へ?みやすくなるならいいじゃん。
ネストした関数の何が問題なのさ?

310 名前:デフォルトの名無しさん [2008/02/09(土) 08:54:31 ]
>>309
ループを基準に関数化とか・・・
gosubみたいな引数を伴わない関数でもあるんならいいけどね。

短くするための関数化なら、普通にエディタで折りたためば良いと思うよ。
それほど大規模なやつでなくてもいまどきのは折りたためるの結構あるし。


311 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 08:58:59 ]
>>310
引数無しのネスト関数で何の問題があるの?
ループ内のまとまった処理を関数としてまとめることに
問題があるとは思えないんだけど。

なんかフラットな構造の関数に慣れてるだけじゃないの?

312 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:30:58 ]
呼ぶ回数にもよるが、インライン展開とか無いなら、
関数呼び出しのコストが無駄になるかもね

313 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 12:32:45 ]
関数の中身がよほどスカスカでないかぎり、
関数呼び出しがボトルネックになることは
まずないと思うがなあ。

314 名前:デフォルトの名無しさん [2008/02/09(土) 13:06:47 ]
>>308
関数化した方が処理が抽象化されて再利用性が高まる。
テストもしやすくなるしね。

パフォーマンスのことを気にするのは,その後でしょ。

315 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 13:29:31 ]
>なんかフラットな構造の関数に慣れてるだけじゃないの?
Pythonによく似ていて関数内関数のない言語。それはRu(ry

316 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 14:41:35 ]
えっ,Rubyって関数ローカルな関数作れないの?




317 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 14:59:12 ]
関数内部に関数を定義することはできるが、関数外部に定義したのと同じ効果
しかないので無意味。

318 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:47:47 ]
マジか?名前かぶったらどうなるんだ?


319 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:16:54 ]
上書きされる(つД`)

def boo
  p "boo"
end

def foo
  def boo
    p "boo2"
  end
  boo
end

foo # boo2
boo # boo2

320 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:21:56 ]
>>318
「あと」に実行されたメソッド定義で上書きされる
というか、def methodname という書式は所属するクラスにメソッドを定義する効果しかない
勝手に「関数内関数だぜー」とか勘違いして使っておいて文句ゆーな
いわゆる関数内スコープの関数が欲しければ「一連の手続き」をオブジェクトとして持ち歩けるProc使え

321 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:26:55 ]
>勝手に「関数内関数だぜー」とか勘違いして使っておいて文句ゆーな
じゃ、なんで関数内に関数を書けるように変更されたんでつか?

322 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:28:21 ]
>>320
それ、勘違いというより、コンパイラで弾くべきエラーなんじゃ…

323 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:28:46 ]
設計ミスちゃうんかと

324 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:32:49 ]
That's Matz quality!

325 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:36:18 ]
>>321
それが「俺ってすごい感」

326 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:47:34 ]
>>321-322
動的にメソッドを追加できるというメリット…まあ、注意深く使えばメリットになるものがなくもない
「Hoge#levelupを実行するとHogeクラスに10個くらいメソッドが追加される」とかそういうやつ
「メソッド定義(Rubyには関数はない)はどこにでも書ける」という単純な事象の単純な結果に過ぎない
だからProc使えよ

def foo
helloworld = Proc.new{ puts 'Hello, World!'}
helloworld.call
end

helloworld ←エラー
foo ← Hello, World!





327 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:50:33 ]
説教泥棒という言葉を思い浮かべてしまった。

328 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:55:17 ]
>>326
まとめると、まっつんの設計ミスということでOK?

329 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:57:21 ]
Rubyって,よく考えずに追加した浅はかな仕様で自爆してること多くね?

330 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 16:59:28 ]
まあそろそろRuby関連スレでやってくれ

331 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:02:16 ]
>>328
> この定義のある場所にメソッドを定義します。
> すなわち、クラス/モジュール定義中ならばそのクラス/モジュールのメソッドを定義します。
> トップレベルならばどこからでも呼べるメソッドを定義します。

という def の説明があるんで、def の中に def を書いたらどうなるかは…
やっぱ、そのクラスにメソッドが定義される以上の動作はし得ないと思うぞ
メソッドにメソッドを定義することはできない

既存言語を経験した人が def をネストしてハマるのはまあ通過儀礼のような気もせんでもないが
それで Proc とかそのへんを使い始めてくれればそれで問題ないかと

332 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:04:06 ]
まあ、いずれにしても使わないんですけどね、Rubyなんて。

333 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:07:35 ]
まあPythonスレだしな

334 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:09:15 ]
少なくとも言語設計としては大失点だな。

335 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:14:03 ]
スレタイを読めない奴は黙れ

336 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:16:20 ]
あれほど酷くは無い。なんつったっけ、P(ry



337 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:20:55 ]
>>336
まあ目くそ鼻くそだけどな。
くそ同士だから、お互い気になって仕方がないんだろ。

338 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:23:38 ]
なぜruby厨がそこら中のスレで鼻摘まみ者になっているか、よくわかった。

339 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:25:52 ]
とりあえず、NGワード Proc を設定 www

340 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:27:51 ]
Procってあれだろ、カッコなしでメソッド呼び出しできる仕様を追加してしまったがために、
呼び出し可能オブジェクトを代入できなくなって、苦し紛れに作った仕様なんだよな。

341 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:37:24 ]
Procでreturnするとfooから抜けちゃって関数内関数として使えません(> <)

def foo
  boo = Proc.new do
    100.times do |i|
      100.times do |j|
        if i == 50 && j == 50
          return
        end
      end
    end
  end
  boo.call
  p "foo" # 実行されず
end

foo


342 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:47:37 ]
だからRubyの話はRubyスレでやれヴォケ

343 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 17:50:25 ]
Matzは多言語の悪口を言う前に
スタックの使い方について勉強した方がいいな(www

344 名前:デフォルトの名無しさん [2008/02/09(土) 18:00:44 ]
>>341
ものすごいfoolなfooですね。
Rubyってやっぱクソだ

>>340
Ruby作者の頭イカレすぎ

子供の作文に見せかけたなでしこで書かれた破壊プログラムにも全部消されたしクソ杉。


345 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:01:24 ]
pc11.2ch.net/test/read.cgi/tech/1200106073/484
レスはこっちに書いたから

346 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:07:01 ]
なんにしてもRubyみたいな糞言語は使わないんだけどね。



347 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:26:02 ]
細かい言語仕様ひとつで糞言語って大げさ。

ってかアンチrubyスレいけ。いい加減しつこい。

348 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:40:26 ]
細かい言語仕様て、決まってないと安心して使えないアル。では安心して
使える言語Pythonの話題をどうぞ.

349 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:45:07 ]
>1.8.6では、Proc.new≠proc=lambda
>1.9では、Proc.new=proc≠lambda

なんか勝手に変えられることもあるらしい(wwww

なにこの糞言語(wwwwwww

350 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 18:51:12 ]
報告はいいから
Ruby話の続きは>>345でまとめようぜ
興味あるPython使いは勝手に覗きに来る事だろうて

351 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:59:17 ]
Rubyの作者がアレだからな

352 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:13:56 ]
>>347
returnでどのコンテキストから脱出するかは、全然細かい話じゃないだろ。
言語仕様の根幹に関わる問題だぞw

353 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:27:27 ]
>>> 352
いずれにしろスレ違い
アンチrubyの粘着キモ杉

354 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:47:23 ]
Pythonスレならではのアンカーに感動

355 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:50:34 ]
凄いな。
352 というリテラルに、2行のテキストがbindされていたなんて。

356 名前:デフォルトの名無しさん [2008/02/09(土) 21:36:31 ]
あっ
間違えちゃったよ



357 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:02:35 ]
MLにも変なのが湧いてきたな。
setをもらってそれら全てにマッチする正規表現を生成って、
return '.*'
でいいじゃんw



358 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:07:25 ]
PythonとRubyはPerlerを受け入れる宿命だからな・・・

359 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:11:04 ]
MLに投稿してるのは、Python本の訳者だな。
何が言いたいのかよくわからんが
ああやっちゃうなら正規表現文字列をわざわざ生成しなくてもいいような気がするけどな
文字列の範囲も指定しなくちゃだろう。
こっからここまでは正規表現としてはパースしないでね、と

360 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:12:53 ]
PerlのRegexp::Assembleを使えばよい
車輪の再開発がしたいならどうぞどうぞ

361 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:18:17 ]
クラ鯖の業務アプリでPythonかTcl/Tkをクライアントで使おうかと
検討中なのです。そこで質問なのですが、そのようなことをしてる
人はいるのでしょうか。また帳票の出力はどうやってますか?

362 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:26:53 ]
>>357
ククブクとチュトリアルの翻訳者にそんな失礼なことを言ってはいけません!

363 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:30:28 ]
>>361
Python向きの仕事じゃないと思う
COBOLでも使えばいいんじゃない

364 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 22:32:29 ]
>>363
COBOLでクライアントを書けというのか。無知を晒すのも大概にせいよ。


365 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:01:53 ]
>>361
VBでも使っとけ。
決してIronPythonなど使うのではないぞ。

366 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 23:48:58 ]
>>357
MLの人,考え方が古くね?



367 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 00:31:14 ]
>>361
Canvasにでも書いてPostScript形式で出力するのか。
Tkって日本語通るのか?

368 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 00:49:50 ]
>>367
Tkは全部うに子なのでおk

369 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 01:04:08 ]
>>368
そうなんだ。
Unicode対応とうたっていても
PostScriptに変換する過程でこけるソフトウェアが世の中には多くて困る。

370 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 03:35:06 ]
>>367
画面上は無問題だけど PostScript 出力では日本語は NG だと思われ。
手元で試した限りではダメだった。

参考:mail.python.org/pipermail/tkinter-discuss/2007-March/001095.html

371 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 03:35:28 ]
kirei.xsrv.jp/archives/cat35/post_893/

372 名前:デフォルトの名無しさん [2008/02/10(日) 03:56:45 ]
グーグル検索


北朝鮮送金ルート



亀田右翼の正体在日




373 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 04:02:17 ]
open("output.ps", "w").write("""%%!
/Ryumin-Light-H findfont 90 scalefont setfont 20 20 moveto <%s> show showpage
""" % "".join("%02x" % (ord(c) & 0x7f) for c in u"\u304a\u3063\u30d1\u30a4\u30bd\u30f3".encode("euc-jp")))

374 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:59:01 ]
質問です

try:
    raise Exception('hoge')
except Exception, e:
    print e

これだと拾えるのですが

try:
    raise Exception('hoge', 'fuga')
except Exception, e:
    print e

これだと拾えないんですが
こういうときにどちらもうまく拾うにはどうすればよいですか?
tryの中で Exception('hoge') が投げられるか Exception('hoge', 'fuga') が投げられるかは分からないのです

375 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:04:28 ]
どっちも拾えるようだが

376 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:06:24 ]
すみません
print e.args
としてました
ここに載っけるときに簡略化した再現ソースにするつもりで間違いました




377 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:24:29 ]
Vyper ってもう死んだの?

378 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:49:10 ]
DictA.extend(DictB) みたいにするには
どうしたら良いですか?リスト拡張するみたいに
辞書も拡張したいです

379 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 16:50:49 ]
DictA.update(DictB)

380 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:00:02 ]
DictA<ひぎぃ

381 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:00:36 ]
>>379
すみません。扱うデータが重複が許されないデータなので
辞書を更新して書き換えられません。条件後だしスマソ orz

382 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:04:38 ]
for k,v in [DictA, DictB]:
  DictC[k] = v

これだとキーが衝突してしまう罠…

383 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:07:14 ]
>>382
> for k,v in [DictA, DictB]:
  DictC.setdefault(k, v)


384 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:15:55 ]
>>383
>>> DictA = {"蛇":"py", "珠":"rb", "真":"pl"}
>>> DictB = {"蛇":"足", "珠":"尾", "真":"打"}
>>> DictC = {}
>>> for k,v in [DictA, DictB]:
... DictC.setdefault(k,v)
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack

うまくいかなかった orz

385 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:16:07 ]
DictA.update((k, v, ) for k, v in DictB.items() if k not in DictA)

386 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:28:00 ]
>>385
>>> DictA.update((k,v,) for k,v in DictB.items() if k not in DictA)
>>> DictA
{'\x90^': 'pl', '\x8e\xec': 'rb', '\x8e\xd6': 'py'}

>>> DA
{'\x90^': 'pl', '\x8e\xec': 'rb', '\x8e\xd6': 'py'}
>>> DB
{'\x90^': '\x91\xc5', '\x8e\xec': '\x94\xf6', '\x8e\xd6': '\x91\xab'}

やっぱり何も変わらなかったぽ…



387 名前:デフォルトの名無しさん [2008/02/10(日) 17:35:12 ]
pythonで大儲けしたいんですが、金になるWEBサービスって何かないですか?
アドセンス貼ってアフィリ成金になりたいです。

388 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:35:30 ]
ttp://www.asp-edita.jp/doda/one/doda3603_29.html

C++のmapは、pythonの辞書に近い…
なんでキーの重複が許されないかなPython… orz

389 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:40:41 ]
>>dictの人
何を望んでいるのか書かないと誰もわからないぞ

390 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 17:43:03 ]
やりたいことが良く分かんないけど、値をリストにしちゃ駄目なの?

>>> DictC = dict((k, [v]) for k, v in DictA.iteritems())
>>> for k, v in DictB.iteritems():
...  DictC.setdefault(k, []).append(v)
...
>>> DictC
{'\x8e\xec': ['rb', '\x94\xf6'], '\x90^': ['pl', '\x91\xc5'], '\x8e\xd6': ['py', '\x91\xab']}


391 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:03:59 ]
>>389
ですよね…フォルダ内の画像ファイルにタイトルを付けて
分類するみたいなかんじで,
{写真A:犬吠崎(晴れ), 写真B:犬吠崎(曇り), 写真C:犬吠崎(嵐)}
{写真A:門出, 写真B:憂鬱, 写真C:危機}

キーが変わらないけど、それに付随する情報を、国語辞書の

{ことばA : 定義1}
{テレビでやってて知った新しい定義、友達が言ってった怪しげな定義}

じぶんだけの辞書を、あとから手書きで書き加えてゆくかんじで、
つくるのに、DictA.extend(DictB)という記法でできたら、キー重複が
許されたら嬉しいみたいなかんじです。紙の辞書のアナロジーで扱え
たいというか…うーん日本語難しい orz

392 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:18:31 ]
>>390
リストに入れ子にするほうがPythonっぽいのですけれども
DBから取り出すとき、Viewに表示するとき、

for dt map( filter ("写真A") MyDict ): <= この辺きっとすごく間違ってる orz
  print MyDict[dt] = dd

こんなかんじでやりたいです。

393 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:19:57 ]
for k, v in DictA.items():
DictB[k] = DictB.get(k, ()) + (v, )

394 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:21:20 ]
>392

意味がわかりません >_<


395 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:21:44 ]
sqlite使えクソが

396 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:22:00 ]
for dt map( filter ("写真A") MyDict ):
  print dt, MyDict[dt]

間違えました orz



397 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:24:36 ]
タグ付けみたいなもんならDBでやったほうがよくないか

398 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:28:22 ]
>>395
sqlite はキーが重複してても上書きされないんですね…
やっぱりそっちに逃げたほうが無難っぽいですね。

いま手元の本読んでみたらタプルを使って、操作してから
辞書に入れる、タプルが辞書のキーとして使えるので
『変化しないデータをキーに入れる』用途で使えると書いて
ありました! でもサンプルコードが載ってませんでした…orz

399 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:30:19 ]
タプルをキーとして使えば簡易「型チェック」が行える…???

400 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:31:13 ]
タグならset型を1つ持たせればいい

401 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:35:06 ]
>sqlite はキーが重複してても上書きされないんですね…
>やっぱりそっちに逃げたほうが無難っぽいですね。

DQN認定しました
おめでとうございます

402 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:38:30 ]
>>398
> sqlite はキーが重複してても上書きされないんですね…
なら単にPythonで二元配列使えばいい話なのでは?

403 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:39:24 ]
>>388
配列の添字に重複がないのと同様、
辞書のキーに重複がないのは当然だろ。

404 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:41:49 ]
>>391
キーに対応する値のほうをリストにすりゃいいんじゃねーの?

405 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:42:28 ]
>>398
なんでPython選んだの?

406 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 18:52:13 ]
>>398
いきなり結論(コード)に飛びつかず、
まずは落ちついて自分の操作したいデータの具体例を整理しろ。
Pythonでのデータ型や操作の方法を考えるのはその後だ。



407 名前:399 mailto:sage [2008/02/10(日) 18:55:31 ]
>>> H = (("ha","hi"),("hi","hu"),("hu","he"),("he","ho"))
>>> M = (("ma","mi"),("mi","mu"),("mu","me"),("me","mo"))
>>> Anpan = H + M

>>> Selif = {}
>>> for char, selif in Anpan: …1
... Selif[char] = selif

>>> Selif
{'me': 'mo', 'ma': 'mi', 'mi': 'mu', 'hu': 'he', 'mu': 'me', 'hi': 'hu', 'ha': ' hi', 'he': 'ho'}

>>> Anpan + (("ma", "kasinkasinkasin..."),)
(('ha', 'hi'), ('hi', 'hu'), ('hu', 'he'), ('he', 'ho'), ('ma', 'mi'), ('mi', 'mu'), ('mu', 'me'), ('me', 'mo'), ('ma', 'kasinkasinkasin...'))

1を実行
>>> Selif
{'me': 'mo', 'ma': 'kasinkasinkasin...', 'mi': 'mu', 'hu': 'he', 'mu': 'me', 'hi': 'hu', 'ha': 'hi', 'he': 'ho'}

できました!そうかキーを重複させたいときはタプルを使えば
いいのか…マっ!!カシンカシンカシン(嬉しくて走り出す乙)

408 名前:399 mailto:sage [2008/02/10(日) 19:02:03 ]
あかんがな…
やっぱり辞書は重複したキーを持つことができない

データベース使わないと駄目か…orz






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

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

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