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


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

Pythonのお勉強 Part33



1 名前:デフォルトの名無しさん [2009/04/26(日) 01:48:01 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc12.2ch.net/test/read.cgi/tech/1234716330/

51 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 18:35:12 ]
>>46
整数型に対する右シフトは、Cだと結果が未定義だぞ。
符号無し整数型ならOKだが。

52 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 19:04:20 ]
仕様厨か?

53 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 19:57:46 ]
違う。右シフトするときにMSBがどう処理されるかの、現実的な問題だ。
gccで試したら、-2を右1ビットシフトすると-1になった。
処理系によっては、INT_MAXになるはず。
で、前者だと>>46の通り整数型を2で割ったのと等しいが、今回の目的には使えない。
後者だと今回の目的に使えるが、整数型を2で割るのと結果が異なる。

54 名前:デフォルトの名無しさん [2009/05/06(水) 20:01:06 ]
1になってるbit数数えるのが目的の用途に符号なし整数使わず
わざわざ整数型持ってくる香具師が馬鹿でFA?

55 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:06:04 ]
いや、>>51=>>53は仕様厨ではなく、指摘が回りくどくて揚げ足取りになってるでFAだ。
(おれがその>>51=>>53本人だが)

56 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:58:26 ]
1ビット2ビット帰れない〜

57 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:41:21 ]
うーん、あまりにも小さなネタ過ぎるのか、アルゴリズムの本やそれこそKnuth本を当ってもHamming Distanceの計算方法が見付からないな...
誰かKnuth本の出てる場所知ってたら教えてくれろ。


58 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 22:22:00 ]
差分をとるのはXORで明白だから、
調べるなら>>49みたいに"bit count"のほうがいいんじゃない?

59 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:07:27 ]
あーーーーーーがらっとるーーーーーーーーーーーーーーーー
なにがったんじゃーーーーーーーーーーーーーーーーーーーーーーー




60 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 08:26:19 ]
ubuntuを最近の9.04にして
何かアプリいれると勝手にpython2.6が入るぞ

61 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 08:33:11 ]
別にUbuntuじゃなくても

62 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 11:58:45 ]
debianとか誰に必要とされてるんですか?
osにお金も払えない貧乏ニンですよね

63 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 12:13:35 ]
貧乏人でもいいじゃない。
心が貧しくて卑しい >>62 より

64 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 16:18:22 ]
実際、フリーソフト教って怪しいよね

65 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 16:35:20 ]
ソース公開されてなきゃ気持ち悪くて使えないって人とか?
使うソフトいちいちソース調べてるんか

66 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 17:07:33 ]
x = [1, 2]
x += [9, 8]
x == [10, 10]
True

みたいな事ができる、メソッドか関数か計算式ってありませんか?

67 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 17:30:00 ]
マッピー

68 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 17:30:07 ]
map(lambda x, y: x + y, [1, 2], [9, 8])

69 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 17:35:12 ]
In [3]: from operator import *
In [4]: map(add, [1,2], [9,8])
Out[4]: [10, 10]
もしくは
In [5]: [x+y for x,y in zip([1,2], [9,8])]
Out[5]: [10, 10]



70 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 19:23:41 ]
>>65
何か悪いことが起きたら、ソースを読むw

71 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 20:03:57 ]
import numpy
x = [1, 2]
x = numpy.add(x, [9, 8])

72 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 00:38:22 ]
>>68-71
どれが一番速いですか?
どれが一番メモリ効率良いですか?

73 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 01:17:55 ]
キー・タイプ数の点で早いのは>>69

モジュールをインポートする必要がないという点で
メモリ効率が良いのは>>68

74 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 02:43:36 ]
>>73
>>69のリスト内包は>>68より効率が悪いの?

75 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 03:39:16 ]
>>70
俺は直す知識が無いからパッチ書いたりとか出来ないけど
ハードコーディングされてて使い難いと思ったところを
ちょこちょこっと書き換えて自分ライクにしたりとかはある。

76 名前:デフォルトの名無しさん [2009/05/09(土) 05:34:00 ]
zipの中身ってyieldだっけ?

77 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 05:35:49 ]
3.0

78 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 15:42:04 ]
>>68-69,71の中では>>71が一番処理速度は早いですよね?

79 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:35:37 ]
>>78
自分で測定しろや



80 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:52:02 ]
天下のnumpy様に
標準ライブラリや組み込み関数が勝てるわけないだろう。

81 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:07:07 ]
>>78
やってみたぞ。

a, bをランダムな整数10000要素のリストとして

1. map(operator.add, a, b)
2. map(lambda x,y: x+y, a, b)
3. numpy.add(a,b)

を各1000回実行するのにかかった時間をtimeitモジュールを使って測定した結果は
以下のとおり。(CPU: Core2Quad Q6600, OS: Linux 2.6.28, Python: 2.6.2)

1. 0.977833986282
2. 1.91782212257
3. 0.0156099796295

ということで当然ながらnumpyの圧勝。
ただし、最初にnumpy.array()でシーケンスをnumpy.ndarrayに変換しておく必要あり。
これをやらないと逆に一番遅い。

82 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:45:19 ]
>>78-80
numpyは中身がlapackかなんかじゃなかった?
どっちにしても一部cで書かれてるから場合によってはnumpyが早いかもね

正直言うと全部pythonのlistのまま処理してくれないとめんどくさくて嫌なんだけどね
arrayってなんだよ

83 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:10:57 ]
numpyとscipyとpylabとmatplotlibの関係が良く分かんないんだけど。


84 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:28:23 ]
>>> _lambda.repeat(1,100000);_operator.repeat(1,100000);_numpy.repeat(1,100000)
[0.5832531788257711]
[0.43510585842614091]
[1.2607769981939327]

85 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 19:10:13 ]
>>84
なにこれ

86 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 19:59:17 ]
>>83
おまい使ったことないだろ。使えばすぐに分かるぞ。

おおざっぱに言うと、numpyで効率的なn次元配列及びそれらに対する
基本的な演算が与えられ、それを使ってscipyで計算をし、
結果をプロットするのがmatlabplotだ。

87 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 21:28:07 ]
スクリプト系は結局こうなるよな。
アルゴリズムの知識じゃなくて、モジュールの知識。

88 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 21:32:43 ]
最近の言語はそうじゃない?
今C#やってるけど、ひたすら.NETFrameworkの使い方調べてるぞ。

89 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 21:34:30 ]
>>87
ある程度ライブラリが揃っていれば、スクリプト言語かどうかに関係なく
どの言語も似たようなものだろ。



90 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:05:14 ]
Python 2.x ではstatementだったexec が3.0ではfunctionになりましたが、
2.xと3.0の両方で動作するように書くにはどうしたらいいでしょうか。
exec '....' in globals, locals # 2.x
exec('.....', globals, locals) # 3.0

globalsとlocalsを指定しなくていいなら exec('....') でいいのですが、globalsとlocalsも指定して、なおかつ2.xと3.0の両方で動かしたいです。

91 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:20:09 ]
from __future__ import exec
exec('.....', globals, locals)

とかすればできるのかな。
future文使ったことないから知らん。

92 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:50:52 ]
pythonで動画扱いたいのですが
どのライブラリがお勧めですか?

93 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 01:28:57 ]
速さは分かったけど
メモリ効率って
どうやって調べられるん?

94 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:39:10 ]
topでresident sizeでも見れば?大雑把な指標にはなる。

95 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:50:22 ]
resourceモジュールだっけな、もう忘れた

96 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 07:22:06 ]
resourceモジュールってgetrusage()呼んでるだけだよな。
ということはtopを見れば十分という話だな。
WindowsでもProcess Explorer使えば同様にモニタリング出来るし。

97 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 07:24:00 ]
MacOS XでPython3.0を使っているのですが、help()を使うとときどき
UnicodeEncodeError: 'shift_jis' codec can't encode character '¥xab' in position 3701: illegal multibyte sequence
というエラーがでます。
たぶんデフォルトの文字コードがshift_jisになっているせいだと思いますが、
デフォルトの文字コードをutf-8に変更するにはどうしたらいいですか。
できればLANG以外の方法で。

98 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 10:59:04 ]
>¥xab

\が全角だから

99 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 11:03:21 ]
円マークじゃなくて、\x5c の文字である必要があるから、環境によってはバックスラッシュかもね。



100 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 11:47:29 ]
import math
print math.e ** (1j * math.pi) がOKで
print math.exp(1j * math.pi) がNGなんだけど

expがcomplex を受け取らないのは何か理由があるの?

101 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:20:21 ]
>>101
複素数用にcmathが用意されてるから。cmath.exp()を使え。

102 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:57:53 ]
expがcomplex を受け取らないのは何か理由があるの?

103 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 13:03:17 ]
ソース読んで自分で調べろボケ

104 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 13:54:36 ]
>>103
お前初めてかここは、力抜けよ

105 名前:デフォルトの名無しさん [2009/05/10(日) 13:57:09 ]
みんなのPython 改訂版 が出たと思いますが
初心者にはおすすめでしょうか?
まったくの初心者です。

106 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 14:00:47 ]
プログラム初心者ならみんパイ
Python初心者ならはじパイって感じじゃね?
amazonのレビューとかは気にすんな

107 名前:デフォルトの名無しさん [2009/05/10(日) 14:15:06 ]
ありがとうございます。参考になりました。

108 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 14:26:20 ]
docs.python.org/3.0/whatsnew/3.0.html
>It is not recommended to try to write source code that runs unchanged under both Python 2.6 and 3.0;
訳) 2.6と3.0の両方で動くように書いたらダメってGuidoが言ってた

109 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 14:50:35 ]
>>104
>>101で答えてやったのに、補足もせずに全く同じ質問をぶつけてきたら
頭に来るだろ。



110 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 15:06:22 ]
裏でなにが行われてるか知らないとキモチワルイ!
ってタイプの人なんだろう。
でもそういう人はソースくらい自分で読めないとね

111 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 15:48:31 ]
どうせいつものなりすまし厨だろ。

112 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:23:14 ]
おっぱいそん初心者です。

固定長データの中に16進コードで日本語の地名が入っているのですが、
それを日本語で出力するにはどうしたらいいのでしょうか。
(例えば、「東京」ならデータ中には 「93 8C 8B 9E」 とshift jisで入っています)

固定長のデータを変数に入れたとして、
b='93'
c='8C'
d = '\x' + b + '\x'+ c
として「東」 を表示しようとしましたが、dに代入するところですでにエラーが。
どなたかお助けを…


113 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:48:07 ]
とりあえず
d = r'\x' + b + r'\x'+ c

114 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:59:12 ]
あ、それだと駄目なのか

115 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 01:10:38 ]
>>> s = ["93", "8c", "8b", "9e"]
>>> print "".join(chr(int(x, 16)) for x in s)
東京

116 名前:デフォルトの名無しさん [2009/05/11(月) 03:12:10 ]
>>109
>104 が答えになってないだろ

117 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 03:22:47 ]
頭に血が登ってアンカー間違えたか?
くだらん言いがかりつける暇あるなら調べろよカスが

118 名前:100 mailto:sage [2009/05/11(月) 06:17:42 ]
python に慣習、主義があって
それにしたがってんのかと思い聞いてみたんだが
この感じだとそんなんじゃ、なさそうやね。
単に処理速度の問題かな。

自分のコピペんのせいで荒れるの嫌だから
一応念のためにいうけど>>100 とこのレス以外は別人なんで、よろしく。

119 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 08:45:22 ]
2.6用
3.0用
のコードをブランチで分けて
darcsで同じパッチ当てながら開発って

クエン酸いれたらどうっすかなみのアイデアですか




120 名前:デフォルトの名無しさん [2009/05/11(月) 09:26:32 ]
>>117
血が昇る
では?

121 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:52:01 ]
2.x系と3.0とを判定するよい方法はありますか。
現在は sys.version.startswith('3') で調べていますが、もっといい方法はありますか。

122 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 00:54:26 ]
>>108
>訳) 2.6と3.0の両方で動くように書いたらダメってGuidoが言ってた

原文は It is not recommended だから、ダメじゃなくて おススメしないというだけだよね。

123 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:10:46 ]
>現在は sys.version.startswith('3')で
それでいいんじゃないかと思うけど


適当に考えついた他の例
def is_python3_or_later():
 return range(0) != list(range(0))

124 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 06:32:31 ]
>>121
sys.version_info >= (3, 0, 0)じゃだめ?

125 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 14:19:30 ]
ttp://www.amazon.co.jp/dp/4798118753

激しいクソ本臭がするんだが気のせいかな?

126 名前:デフォルトの名無しさん [2009/05/12(火) 16:07:35 ]
合格です
おめでとう

127 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 16:10:09 ]
('3')が顔文字に見えてきた

128 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 16:33:12 ]
>>125
ググってみたら、著者はzope、ploneな人たちっぽい...orz...。

129 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 16:55:34 ]
>>124
sys.version_info なるものがあるのか! これは助かりました。ありがとうございます。



130 名前:デフォルトの名無しさん [2009/05/12(火) 18:06:52 ]
>>125
いつのまにかこんな本も出てたんだね
ttp://www.amazon.co.jp/dp/477413760X

131 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:12:57 ]
>>130
それちょっと気になってる。

132 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:15:13 ]
>>130
その本はひどく読みづらい日本語で書いてあったなあ
あと、著者はPython分かってないと思う(w

133 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:28:37 ]
10日で〜シリーズはそういう層がターゲットだからあんまり期待してもしょうがないでしょ。
それにしてもそんな本でなんでそんなに著者が多いのか・・・


134 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 18:32:16 ]
束になってウンチ本を書いたんですね。ご苦労様です。

135 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 23:21:24 ]
>>130のは少なくとも入門書てしては失敗してると思う・・・
Python云々ではなく

136 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 23:21:35 ]
>>115
ありがとーん。
配列なめるあたりも分かりやすいですね。

いつもどおりにawkで書いたのですが、ユーザー関数つくらないとダメでした。
真剣にぱいてん(他言語からPythonへ転向)を考えております…

137 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 23:57:05 ]
>>130
この本は、著者タソの才能が著しく低いか、やっつけで書いたのかどっちかだとおもう。
内容については1万歩譲るとしても、書籍として成り立ってない。

138 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 00:19:34 ]
DRYが説明なしにでてきた気がするんだが説明されてた?
Pythonエクスプローラのときはちゃんと説明あったが

139 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 00:33:23 ]
ドジャンゴってゾープと似てね?
使ってる人たちが。



140 名前:デフォルトの名無しさん [2009/05/13(水) 00:58:22 ]
>>132 >>135
ありがとう
Amazonのレビューにだまされるとこだったw

141 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 01:01:55 ]
>>137
そういうのは編集者の方でなんとかすることは出来なかったんだろうか?

142 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 01:05:06 ]
ploneってゾープと似てね?
使ってる人たちが。

143 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 03:29:28 ]
てか、PloneってZopeの直系っしょ?


144 名前:デフォルトの名無しさん [2009/05/13(水) 04:04:13 ]
pythonってrubyと似てね?
使ってる人たちが。


145 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 06:51:49 ]
そりゃねーわ

146 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 07:50:57 ]
ダンジョーはこんなもの。
それが感想。大勢で書いた割にはgdgdだったし。

147 名前:デフォルトの名無しさん [2009/05/13(水) 08:42:12 ]
勘のいい奴はみんPyを買うということか...?

www.amazon.co.jp/dp/4774138053/
23%のカスタマーが
みんなのPython 改訂版を購入しています

www.amazon.co.jp/dp/4873113938/
15%のカスタマーが
みんなのPython 改訂版を購入しています

www.amazon.co.jp/dp/477413760X/
12%のカスタマーが
みんなのPython 改訂版を購入しています


148 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 08:57:46 ]
はじめてのPythonをやってから
リファレンスとか見れば良いだけのような。

はじめてのPythonやってないと
細かな罠にひっかかりまくると思うぞ。

149 名前:デフォルトの名無しさん [2009/05/13(水) 09:50:36 ]
>>148
>細かな罠にひっかかりまくると思うぞ。

やっぱり勘の悪い人が買うんだ(笑)。



150 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 10:51:17 ]
>>149
えっ??

151 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 12:47:55 ]
恥ぱいで身につくとは思えない






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

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

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