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


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

くだすれPython(超初心者用) その3



1 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 06:33:45 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>980 辺りで

前スレ
くだすれPython(超初心者用) その2
pc11.2ch.net/test/read.cgi/tech/1218155094/

関連スレ
Pythonのお勉強 Part31
pc11.2ch.net/test/read.cgi/tech/1230821097/

404 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 18:50:46 ]
dict(d)

405 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 19:21:37 ]
>>404
ありがとうございます!
もっと簡単な方法があったんですね。

406 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 21:43:20 ]
d.copy() でもいい

407 名前: ◆UNKOVIP9RM [2009/02/15(日) 20:57:05 ]
ttp://itpro.nikkeibp.co.jp/article/Research/20090214/324743/

日本は新興国だろ

408 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:50:58 ]
galprop.stanford.edu/web_galprop/galprop_home.html
に置いてある、
galprop.stanford.edu/codes/v50.1p.tgz
の中のpp_meson.fをf2pyにかけたいのですが、

$ f2py -c -m pp_meson pp_meson.f

をやると大量のエラーが出ます。

running build
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
building extension "untitled" sources
f2py options: []
f2py:> /var/folders/wH/wHx7+EnOGj8QSwsYqxTqmE+++TI/-Tmp-/tmpYvDAdM/src.macosx-10.5-i386-2.5/untitledmodule.c
(略)
File "/Library/Python/2.5/site-packages/numpy-1.2.1-py2.5-macosx-10.5-i386.egg/numpy/f2py/crackfortran.py", line 2072, in analyzevars
for k in implicitrules[ln0].keys():
KeyError: '1'

どのような修正を加えて走らせ直せば良いのでしょうか。

OS X 10.5.6 + gfortran
Linux g77 3.3.5

のどちらでも同じ症状です。Python 2.5 + numpy 1.2.1を使っています。

409 名前:408 mailto:sage [2009/02/16(月) 18:23:29 ]
どうやらf2pyは継続行をうまく扱えないようで、
   1行目 !comment
  & 2行目
みたいに書いてあるところのコメントを取り除けばいいようです。

410 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 20:15:59 ]
site-packages/my_package
site-packages/my_package/__init__.py
site-packages/my_package/module1.py
site-packages/my_package/module2.so

のような構成でパッケージを作りました。
__init__.pyには、

from module1 import *
from module2 import *

とだけ書いてあります。しかし、

$ python
>>> import my_package
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "my_package/__init__.py", line 8, in <module>
from module2 import *
ImportError: No module named module2

となってしまいます。どこを直せば、module2.soを読みに行ってくれるのでしょうか。
python 2.5.1をOS X 10.5.6で使用しています。

411 名前:410 mailto:sage [2009/02/16(月) 20:16:54 ]
追記

$ cd site-packages/my_package
$ python
>>> import module2

とやると、ちゃんと動きます。

412 名前:410 mailto:sage [2009/02/16(月) 20:46:46 ]
あ、嘘。できた。



413 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:44:34 ]
例1)

>>>wordlist = ["H","K","L"]
>>>[word.lower() for word in wordlist]
['h', 'k', 'l']

例2)
>>> x = [1,2,3,4,]
>>>[x for x in x if x % 2 == 0]
[2, 4]

例1を
>>>[for word in wordlist word.lower()]
例2を
>>>[if x % 2 == 0 x for x in x]
とやると、動きませんでした。

forの部分を前に書く場合と後ろに書く場合があるような気がするのですが、
どういった決まりがあるのでしょうか。


414 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:58:36 ]
>>413
構文はリファレンスマニュアルに書いてある
ttp://docs.python.org/reference/expressions.html#list-displays
かな

まあ簡単に言うとyieldしたい式は必ず先頭(forの前)に
書かなければならないような構文になっている

415 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 06:03:47 ]
Python ではマルチスレッド化しても複数コアを使うことはなくて(なんかGILとか言うらしい)、
複数使うにはマルチプロセスにすれば可能
という理解であってます?

416 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 10:49:47 ]
まちがってるよ。Ruby使えば問題かいけつ。

417 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 11:24:05 ]
いい加減にしろRuby厨!
巣から出てくるな!
あんなパクリだらけで出来の悪い言語なんか信者以外使わないわ

418 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 11:53:08 ]
まぁまぁ

419 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:00:59 ]
こうしてみるとRubyって存在そのものが悪だな
まぁ作った奴からしてアレだしw
ひたすら他の言語をDisりまくりだもんな、そりゃ嫌われるわ

420 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 12:19:32 ]
だが、そこがいい

421 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 16:30:58 ]
>>415
おk
ja.wikipedia.org/wiki/CPython#.E4.B8.A6.E5.88.97.E6.80.A7.E3.81.AB.E9.96.A2.E3.81.99.E3.82.8B.E5.95.8F.E9.A1.8C

422 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 00:44:24 ]
>>421
ありがとう



423 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 20:09:31 ]
自分で作成したモジュールの同梱データファイルを使いたいときに、

mydata = pkg_resources.resource_filename("my_module", "data/data.txt")

としてパスを取得しています。
しかしこの方法だとpkg_resourcesを入れる必要があるため、
他の人のマシンにmy_moduleを入れた場合にすぐに動きません。
この他に、データファイルのパスを簡単に取得する方法があるのでしょうか。

424 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 20:18:09 ]
データファイルをモジュール化する。

425 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 21:53:18 ]
os.path.join(os.path.dirname(__import__("my_module").__file__), "data/data.txt")

426 名前:デフォルトの名無しさん [2009/02/19(木) 23:21:08 ]
ありがとうございました

427 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 03:34:21 ]
すごいくだらないんですけど
PyPy Pychinko以外になんか卑猥なのあります?

428 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:06:40 ]
え?どこが卑隈なの?

429 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 15:56:05 ]
o2.py

430 名前:デフォルトの名無しさん [2009/02/21(土) 19:26:29 ]
AutoComplete.elをwindowsのMeadowで使ってる人いません?
rope のインストールの仕方教えて臭い

431 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 19:37:13 ]
つttp://www.youtube.com/watch?v=y8SZnU5iG-4

432 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 04:02:27 ]
>>430
pythonユーザはMeadow率が低いみたい.
俺も以前,このスレでpdbがらみの質問したけど
まともなレスが無かったよ.
素直にeclipseを使うことをお勧めする.
emacsキーバインドもあるから,移行はそんなにつらくない・・・かもしれない.
とか言ってる俺自体,Meadowとの相性の悪さにウンザリして
Python触らなくなっちゃったけどね.
下手に高機能な分,動かないときは絶望的ってイメージ.



433 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 04:11:08 ]
つか,このスレでたまに出てくるRuby厨は
Python厨の騙りじゃねw
まぁ,どっちでもいいけどさ.

国内でのライブラリやツール類の開発者(成果物?)は
Ruby >>> Python
ですよね.

当然,世界レベルで見たら
Perlに変わってLinuxのシステムツールの地位を獲得している
Pythonの方が圧倒的だけど,やっぱり,国内じゃ弱い.

まぁ,何が言いたいかってぇと,ブログなんかに書き散らかすんじゃなくて
有用な情報が一元的に収集されてるといいなぁ・・・ってことです.


434 名前:430 mailto:sage [2009/02/22(日) 05:19:23 ]
自己解決しました
setup.pyを実行じゃだめで、easy_install入れたらできました。

>>432
まぁ私は困ってないのでこのままMeadowを使おうとおもいます
参考までになにが不満だったかお聞かせください

435 名前:デフォルトの名無しさん [2009/02/22(日) 05:58:36 ]
>>434
gdbインターフェースでpdbを使いたかったんですが
俺には無理でした。


436 名前:デフォルトの名無しさん [2009/02/22(日) 09:12:29 ]
>>432,434
Windows用のGNU Emacsを使うという手は?

437 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 11:24:38 ]
>>436
確かに、Win32 emacsでやりたいことはできるんですが
Meadowとの細かい差分が気になって…
せめてマウスカーソル消去に対応して欲しかった。

438 名前:デフォルトの名無しさん [2009/02/22(日) 14:05:35 ]
boost.pythonスキだぁ

439 名前:デフォルトの名無しさん [2009/02/23(月) 15:46:55 ]
質問です。
osはwindowsxp、Pythonは2.6.1を使っています。

PyAudioというモジュールをインストールして
waveファイルをいじろうとしているのですが、
waveファイルを再生しようとしてPyAudio配布元の
Exampleソースのように書いて動かしてみると
普通に動きました(waveファイルが再生された)
●PyAudio配布元people.csail.mit.edu/hubert/pyaudio/
●wave再生のexampleソースpeople.csail.mit.edu/hubert/pyaudio/#examples

今度は再生のときの音量をいじってみようと
モジュールの説明をつらつらと見てみたのですが
どのようにいじれば音量をコントロールできるかわからないです。
どなたかわかる方いらっしゃいませんか?。。。。。
●PyAudioモジュールドキュメント
people.csail.mit.edu/hubert/pyaudio/docs/pyaudio-module.html

440 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 23:37:35 ]
>>439
以前やろうとしtけど、なかった気がする

他の方法でOSの音量をいじるか、
code.google.com/p/pygalaxy/wiki/SWMixer
こんなのがみつかったけど、どうだろうか?

441 名前:デフォルトの名無しさん [2009/02/24(火) 19:47:36 ]
なんかMeadowの話があったみたいですが、NTEmacsでの質問をさせてください。
VistaにNTEmacs、Python2.5.4、PyQt-Py2.5-gpl-4.4.3、matplotlib-0.98.5.2、python-modeを入れてNTEmacsからpy-shellを使えるようにしました。
ところがmatplotlibで図を表示してみようと思っても、imshowで止まってしまって何も表示されません。
同じ事をIDLEからやるとちゃんと表示されます。
理由と対処法分かりませんか?
実行しようとしているのはネットで拾ったサンプルの一部で

from pylab import *
A = rand(5, 5)
figure(1)
imshow(A, interpolation='nearest')
grid(True)
show()

です。NTEmacsの*Python*バッファからだとimshow()で止まってしまいます。


442 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 04:19:00 ]
>>> a = {1 : []}
>>> b = dict(a)
>>> b[1].append(2)
>>> b
{1: [2]}
>>> a
{1: [2]}

中のリストが参照渡しになってしまうようなのですが、これを回避する方法はありますか?
ちなみに
a.copy()
copy.copy(a)
もだめでした。

よろしくお願いします



443 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 04:26:17 ]
copy.deepcopy(a)

444 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 07:38:42 ]
Pytohnシェルでタブ補完出来るようにしたら便利すぎ!! "python 補完"でぐぐって、
Linuxの場合:
ttp://d.hatena.ne.jp/maedana/20070813/1186992559

Windowsの場合:
ttp://72.14.235.132/search?q=cache:oiU4zQsZDZkJ:www.gikogeek.net/wd/2008/09/25/41/+python+%E8%A3%9C%E5%AE%8C&hl=ja&ct=clnk&cd=3&gl=jp&client=firefox-a

上記の方法以外に、より高機能なPytohnシェル(IPython)を使うという手も良さそう。
ttp://python.matrix.jp/modules/ipython.html

445 名前:442 mailto:sage [2009/02/25(水) 13:08:05 ]
>>443
ありがとうございます!

446 名前:デフォルトの名無しさん [2009/02/25(水) 15:19:34 ]
>>444
ありがとうございます!

447 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 22:10:52 ]
>>444
パイトーンワロタ

448 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 07:17:14 ]
pythonで[0x78, 0x56, 0x34, 0x12]みたいな配列を0x12345678のような数値にしたいのですが何か良い方法ありますか?

449 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 07:40:20 ]
たたき台として

>>> from struct import *
>>> buf = pack('4B', *[0x78, 0x56, 0x34, 0x12])
>>> buf
'xV4\x12'
>>> unpack('<I', buf)[0]
305419896
>>> hex(_)
'0x12345678'

450 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 11:51:37 ]
a = [0x78, 0x56, 0x34, 0x12]
"0x%02x%02x%02x%02x" % (a[3],a[2],a[1],a[0])

451 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 12:21:48 ]
>>> a = [0x78, 0x56, 0x34, 0x12]
>>> reduce(lambda x, y: (x << 8) + y, reversed(a), 0)
305419896
>>> sum(i * 2**j for i, j in zip(a, (0, 8, 16, 24)))
305419896

452 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:02:32 ]
reduce(lambda x, y: x + '%02x'%y, reversed(a), '0x')



453 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:07:36 ]
「数値にしたい」と言ってるのに文字列化してるのは何故なんだぜ

454 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:39:55 ]
0x12345678のような数値にはならないから。

455 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:47:10 ]
0x12345678は数値?

456 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:48:26 ]
'0x12345678'になってりゃ
int('0x12345678',16)で医院で内科脳

457 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:51:33 ]
>>> int('0x%s'%''.join(map(lambda x: '%02x'%x,reversed(a))),16)
305419896

458 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:53:02 ]
とりあえず reversed() は禁止した方が良いと思う

459 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:55:55 ]
言い出しっぺが「数値にしたい」と言ってるのに文字列化してる

460 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 15:59:25 ]
問題文の日本語が正しいとは限らない。

461 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 16:04:37 ]
初心者スレだからな
素直に
>>449
でいいと思う

462 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 16:06:42 ]
bytes([0x78, 0x56, 0x34, 0x12]).long()




463 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 20:47:36 ]
class A(object):
 def f(self):
  """
  document
  """
class B(A):
 def f(self):
  pass

という2つのclassを作ったとします。このとき、
help(A)やhelp(B)でAとBの説明を見ると、
当然かもしれませんがB.fの説明は空欄になってしまいます。
Bのような継承が何個もあり、その関数fの説明は全て同じにしたいのですが、
全部の継承classに対して同じ説明書きをしないといけないのでしょうか。
説明が変わるたびに全てのclassを修正する必要があるので面倒です。

何か良い方法があるでしょうか。教えて下さい。


464 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 23:26:41 ]
>>463
class B(A):
  def __init__(self):
    

465 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 23:30:42 ]
misutta

まぁコードはいいや。
Bでfを再定義しなければAのfが実行されるで。

466 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 23:53:51 ]
fを再定義するってことは、少なくとも内容に変更があるってことだからな。

467 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 00:17:12 ]
>>462
なにその便利関数、って思ったら3.Xか

468 名前:463 mailto:sage [2009/02/27(金) 00:49:43 ]
ありがちな例で申し訳ないですが、
class Animal(object):
 def naku(self):
  """
  動物が鳴くお
  """
  raise NotImplementedError

class Cat(Animal):
 def naku(self):
  printf "にゃー"

class Dog(Animal):
 def naku(self):
  printf "わんわん"

ってときに、いちいち"猫が鳴く"とか"犬が鳴く"っての書きたくなくない?と。

469 名前:463 mailto:sage [2009/02/27(金) 00:50:14 ]
>>468
癖でprintfとしてしまった。printです。

470 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 06:10:47 ]
>>463
class B(A):
  def __init__(self):

471 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 06:36:18 ]
Python 3.0 だとこんな感じでいけるっぽい。エラーチェック等は省略。

def docstring(cls):
    for name in dir(cls):
        if not name.startswith("_"):
            f = getattr(cls, name)
            super_f = getattr(cls.__base__, name)
            f.__doc__ = super_f.__doc__
    return cls

class A:
    def f(self):
        "docstring"
        pass

@docstring
class B(A):
    def f(self):
        pass

print(A.f.__doc__)
print(B.f.__doc__)

472 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 07:20:48 ]
>>471
スレチかもしれないけど、471のPythonコードのスペースがつぶれていないのは、どうやってるんでしょうか?
自分がコードを貼り付けると、
def docstring(cls):
for name in dir(cls):
def f(self):
こんな風になる。



473 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 07:32:26 ]
>>472
ギコナビの特殊文字変換を使ってます。
書き込み時にスペースを&nbsp;に置換してくれます。
書き込み後にどう見えるかをプレビューでチェックできたりして便利です。
変換自体は手作業でやっても大した手間じゃないですよ。
エディタでスペース4個を&nbsp;&nbsp;&nbsp;&nbsp;に置換とかすればOKです。

474 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 07:35:41 ]
全角スペースでもいい。そのままコピペには使えないけど。

475 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 08:21:38 ]
>>472
もスペースなくなってる訳じゃないからね
ブラウザが消してるだけで
httpで送られてくるデータには含まれてるから
ソース見れば復元可能

476 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 08:22:36 ]
全角スペースが一番迷惑

477 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 09:22:12 ]
ラベルごとに集合を作って、その集合に関数を適用する良い方法があったら教えてください。
たとえば、下の表のように、a,b,c3チーム(ラベル)それぞれの平均スコアを出したい。
team score
a 10
b 2
a 9
c 8
b 3
c 6

計算結果
a b c
9.5 2.5 7.0

ラベルにもう一次元足して、クロス表を作れるともっとうれしいです。

想定している機能は、エクセルのピボットテーブルのような感じです。
Rでいうと、tapply(score, team, mean)みたいな感じです。

よろしくおねがいします。

478 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 11:02:19 ]
>>477
標準ではお手軽な方法はないような気がする
なんかライブラリはあるのかもしらんけど
標準でやるならこんな感じです

from itertools import groupby
from operator import itemgetter
data = """
a 10
b 2
a 9
c 8
b 3
c 6
"""
records = [(x, int(y))
              for (x, y) in
                 (line.split()
                     for line in data.strip().splitlines())]
# -> [('a', 10), ('b', 2), ('a', 9), ('c', 8), ('b', 3), ('c', 6)]
grouped = [(k, map(itemgetter(1), g))
             for k, g in
                groupby(sorted(records, key=itemgetter(0)),
                        key=itemgetter(0))]
# -> [('a', [10, 9]), ('b', [2, 3]), ('c', [8, 6])]
result = [(x, float(sum(ys))/len(ys)) for x, ys in grouped]
# -> [('a', 9.5), ('b', 2.5), ('c', 7.0)]


479 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 14:58:04 ]
import collections

def main():
    h = collections.defaultdict(list)
    for line in open("a.txt"):
        team, score = line.split()
        h[team].append(int(score))
    for team, scores in sorted(h.iteritems()):
        print team, float(sum(scores)) / len(scores)

if __name__ == '__main__':
    main()


480 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 18:26:51 ]
>>478, 479
ありがとうございます。
itertools, operator, collections....
よくわからない奴らがたくさん出てきたぜ・・・・(汗)
試してみます。

ぱっと見、478の方が汎用性がありそうかな・・・。


481 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 07:23:08 ]
data = """
a 10
b 2
a 9
c 8
b 3
c 6
"""
h={}
[h.setdefault(x,[]).append(int(y)) for (x,y) in (line.split() for line in data.strip().splitlines())]
r={}
[r.setdefault(x,float(sum(y))/len(y)) for (x,y) in h.iteritems()]
r


482 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 07:44:58 ]
[1, 3, 5, 2, 5, 2, 1, 4, 1, 1, 2, 4, 3, 2]

[4, 8, 7, 7, 7, 3, 5, 5, 2, 3, 6, 7, 5]
のように隣の数同士を足して新しいリストを作る操作を
一行でさくっと書きたいのですがどんな書き方をすればよいでしょうか?



483 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 08:07:06 ]
リストの内包表記

これでググレばおk

484 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 08:14:02 ]
[e + L[i + 1] for i, e in enumerate(L) if i < len(L) - 1]

485 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 08:17:57 ]
[e + L[i] for i, e in enumerate(L[1:])

486 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 08:33:01 ]
[a[i] + a[i+1] for i in xrange(len(a)-1)]

487 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 08:36:12 ]
>>486
それが一番まっとうだよな

488 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:31:05 ]
一旦 a とか e に入れないといけないのですね
[e + [1, 3, 5, 2, 5, 2, 1, 4, 1, 1, 2, 4, 3, 2][i] for i, e in enumerate([1, 3, 5, 2, 5, 2, 1, 4, 1, 1, 2, 4, 3, 2][1:])]

489 名前:デフォルトの名無しさん [2009/02/28(土) 09:50:52 ]
Mercurial って Python で書かれていたのか・・・・
俺みたいな Subversion儲かつ Python儲
はどうすればいいの?死ぬの?

490 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 09:54:48 ]
>>489
1.バージョン管理は枯れてないとだめだよとか言っとけばおk
2.ファイル名に日本語混じったのを扱うようにして、subversionじゃないとだめなんだと言い出す
3.死ね

491 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 10:18:03 ]
fooってなんですか?

492 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 10:20:17 ]
hogeってなんですか?



493 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 10:52:12 ]
>>482

>>> [4, 8, 7, 7, 7, 3, 5, 5, 2, 3, 6, 7, 5]
[4, 8, 7, 7, 7, 3, 5, 5, 2, 3, 6, 7, 5]
>>> map(lambda(x,y):x+y,zip(_,_[1:]))
[12, 15, 14, 14, 10, 8, 10, 7, 5, 9, 13, 12]
>>> map(lambda(x,y):x+y,zip(_,_[1:]))
[27, 29, 28, 24, 18, 18, 17, 12, 14, 22, 25]
・・・・・・・・・・・・・・
[9856, 8802]
>>> map(lambda(x,y):x+y,zip(_,_[1:]))
[18658]

494 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 11:01:33 ]
>>> a = [1, 3, 5, 2, 5, 2, 1, 4, 1, 1, 2, 4, 3, 2]
>>> [i+j for i, j in zip(a, a[1:])]
[4, 8, 7, 7, 7, 3, 5, 5, 2, 3, 6, 7, 5]
>>> from operator import add
>>> map(add, a[:-1], a[1:])
[4, 8, 7, 7, 7, 3, 5, 5, 2, 3, 6, 7, 5]

495 名前:スルー力が足りない! mailto:sage [2009/02/28(土) 14:29:33 ]
本人を装った荒らし乙

496 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:14:27 ]
bzrもPythonだけどな。

497 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:41:03 ]
Python 2.5 で sqlite3 を使ってるのですが
date 型ってないのですか?
integer に time.time() を代入したりして
使えってことなんでしょうか?

498 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 19:46:47 ]
よくしらんけどSQLiteってデータ全部テキスト型なんじゃなかったっけ

499 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:04:34 ]
>>497
ライブラリリファレンスの「13.13.4 SQLite と Python の型」

500 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:30:09 ]
図星だったwww

501 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:45:36 ]
>>499
ありがとうございます

sqlite3 モジュールには二つの Python 標準型 datetime.date と
datetime.datetime に対するデフォルト適合関数があります。
いま datetime.datetime オブジェクトを ISO 表現でなく
Unix タイムスタンプとして格納したいとしましょう。

import sqlite3
import datetime, time
def adapt_datetime(ts):
  return time.mktime(ts.timetuple())
sqlite3.register_adapter(datetime.datetime, adapt_datetime)
con = sqlite3.connect(":memory:")
cur = con.cursor()
now = datetime.datetime.now()
cur.execute("select ?", (now,))
print cur.fetchone()[0]
これは sqlite3 の real になっているということですね

502 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 20:48:50 ]
sqlite3.register_adapter(datetime.datetime, lambda s: int(time.mktime(s.timetuple()) * 1000))
これでいいのかな



503 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:30:11 ]
PythonでCGIを作りたいんですけど
質問とかはこのスレでいいんですか?

504 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 23:33:58 ]
pc11.2ch.net/test/read.cgi/php/1163513344/
こういうスレがある






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

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

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