Pythonについて(アンチ専用)
- 1 :デフォルトの名無しさん:2008/02/21(木) 10:24:06
- Pythonが嫌いな人のためのスレッドです。
■関連スレ
Rubyについて(アンチ専用) Part002
http://pc11.2ch.net/test/read.cgi/tech/1200210768/
- 538 :デフォルトの名無しさん:2009/06/11(木) 14:58:21
- >>> reduce(lambda x,y: x + ',' + str(y), [1,2,3], '')
',1,2,3'
>>> reduce(lambda x,y: x + ',' + y, [1,2,3], '')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: cannot concatenate 'str' and 'int' objects
ダメぽ orz
- 539 :デフォルトの名無しさん:2009/06/11(木) 15:00:15
- ','.join(map(str,[1,2,3]))
- 540 :デフォルトの名無しさん:2009/06/11(木) 15:34:13
- >>539
>reduce使う前提で
まあその前提条件はどうよという点はさておく
- 541 :デフォルトの名無しさん:2009/06/11(木) 16:06:04
- 仮にreduceでどんだけがんばってもjoinよりは速くならないだろう
- 542 :デフォルトの名無しさん:2009/06/11(木) 16:08:15
- reduce(lambda x, y: '%s,%s' % (x, y), [1,2,3])
スマートさを求めるならこのあたりが限界かな
- 543 :デフォルトの名無しさん:2009/06/11(木) 21:48:41
- 生成される一時オブジェクトの数のオーダが違うから無理だと思う
- 544 :デフォルトの名無しさん:2009/06/12(金) 08:08:33
- joinは?
- 545 :デフォルトの名無しさん:2009/06/12(金) 08:17:15
- joinを使うと一時オブジェクトなしで計算量O(N)。
reduceを使うと一時オブジェクトがO(N)必要で計算量O(N^2)。
どっちが良いかは明白だな。
- 546 :デフォルトの名無しさん:2009/06/12(金) 10:16:59
- Ruby の join って Enumerable のメソッドでは無くてリストのメソッドなんだな。
Pythonよりよっぽど気持ち悪い。
- 547 :デフォルトの名無しさん:2009/06/15(月) 06:27:55
- 123
- 548 :デフォルトの名無しさん:2009/06/17(水) 12:12:18
- daa
- 549 :デフォルトの名無しさん:2009/06/21(日) 06:52:49
- なんかすげーあちこちに飛び火したな、joinネタ
ttp://d.hatena.ne.jp/methane/20090615/1245025996
ttp://blog.livedoor.jp/dankogai/archives/51226075.html
ttp://d.hatena.ne.jp/methane/20090621/1245532793
- 550 :デフォルトの名無しさん:2009/06/21(日) 12:29:31
- >>549
二行目
だんこがい
ってばかだな
class List(list):
def join(self, j = ''):
return j.join(map(lambda x: '%s' % x, self))
- 551 :デフォルトの名無しさん:2009/06/21(日) 12:38:06
- return j.join(map(repr, self))
- 552 :デフォルトの名無しさん:2009/06/21(日) 13:53:50
- >>550
>>> t = 'foo',
>>> t
('foo',)
>>> "%s" % t
'foo'
>>> str(t)
"('foo',)"
3行目のmethaneの方がスマート。
でも、 sep.join(x if isinstance(x, basestring) else str(x) for x in iterable) と
一行で書いた方が多分速いな。
>>551
repr と str は違う
- 553 :デフォルトの名無しさん:2009/07/03(金) 05:29:13
-
┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
- 554 :デフォルトの名無しさん:2009/07/22(水) 14:57:08
- test
- 555 :デフォルトの名無しさん:2009/07/24(金) 19:32:27
- pythonをはじめて使った時に ''.join()みたいな書き方は
あり得ないと思ったけど、慣れてしまえば使いやすいね。
- 556 :デフォルトの名無しさん:2009/07/24(金) 19:37:07
- ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
- 557 :デフォルトの名無しさん:2009/07/25(土) 03:36:26
- JavaScriptもjoin使うの知って
まぁそうゆうもんかと思った。
- 558 :デフォルトの名無しさん:2009/07/25(土) 17:15:15
- キャメルケースでも、アンダースコア区切りでもないのが、個人的に違和感がある。
- 559 :デフォルトの名無しさん:2009/10/03(土) 22:56:53
- アンチ少ないお
- 560 :デフォルトの名無しさん:2009/10/03(土) 23:01:16
- ┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
- 561 :TiZCCqJpUPBkUeQHx:2009/10/23(金) 03:16:56
- Black community in a town of 96% whites. ,
- 562 :デフォルトの名無しさん:2009/11/03(火) 20:47:51
- インデント記法は慣れれば気にならないし、
xx.lenghがなくてlen(xx)に統一されてるのも
個人的には嫌いだけど一理あるとは認めざる得ない。
でもスライスのx[n:m]の範囲指定は気持ち悪い。
なんか合理的な理由でもあるの?
- 563 :デフォルトの名無しさん:2009/11/03(火) 20:52:51
- 他にどんな方法があるの?
- 564 :デフォルトの名無しさん:2009/11/03(火) 21:37:23
- >>562
日本語の勉強してから出直せ
- 565 :デフォルトの名無しさん:2009/11/03(火) 21:38:46
- >>563
[n:m] が n〜(m-1) が気持ち悪いっていう意味だろうと E.S.P.
漏れは合理的だと思うけどね
- 566 :デフォルトの名無しさん:2009/11/03(火) 21:47:04
- >>565
ああそういう意味か
漏れも>>562が何言ってるのか判らんかった
例えばx文字目からy文字(文字数)取り出すとき
s[x:x+y-1]
とするよりも
s[x:x+y]
の方が計算が少なくて済むし
逆にpythonの中の人も
s[x:y]
が与えられたときに長さが
y-x+1
じゃなくて
y-x
となってここも計算が少なくて済む
小学生でも判るレベルの話
- 567 :デフォルトの名無しさん:2009/11/03(火) 21:58:48
- x文字目からy文字目まで取り出すとき
s[x:y+1]と計算が多くて済むから合理的
- 568 :デフォルトの名無しさん:2009/11/03(火) 22:31:58
- x文字目から最後の文字からn文字前まで取り出すとき
s[x:-n]と計算が少なくて済むから合理的
>>> 'abcde'[2:]
'cde'
>>> 'abcde'[2:-1]
'cd'
>>> 'abcde'[2:-2]
'c'
- 569 :デフォルトの名無しさん:2009/11/03(火) 22:33:52
- s = 'abcde'
s[2:len(s)]
s[2:len(s)-1]
s[2:len(s)-2]
- 570 :デフォルトの名無しさん:2009/11/04(水) 17:09:36
- Fortranに倣った
- 571 :sage:2009/11/05(木) 01:57:16
- >571
a(:)みたいな配列を1-n, n-にわけたいとき、
Fortran a(:n), a(n+1:)
python a[:n] a[n:]
と、pythonの方がすっきりだ。これに気づいてからpythonのスライシングを許せるようになったw
- 572 :デフォルトの名無しさん:2009/11/05(木) 19:04:13
- 0-origin の index の場合、 [begin, end) で範囲を表現するのが一般的
大きさ0の範囲を [x,x) で表現できる。
- 573 :デフォルトの名無しさん:2009/11/06(金) 01:00:35
- >>572
その表記ってC++勉強して初めて知ったけど一般的なん?
- 574 :デフォルトの名無しさん:2009/11/06(金) 01:12:29
- 数学表記でしょ
閉区間とか開区間とか
- 575 :デフォルトの名無しさん:2009/11/06(金) 01:36:39
- ああそうか、思いっきり一般的だw
>>573で初めてとか言ったけど学校で習った覚えもあるわ
- 576 :デフォルトの名無しさん:2009/11/06(金) 23:36:11
- ヨーロッパとかだと半開区間を [a, b[ とか書いたりする
きもい
- 577 :デフォルトの名無しさん:2009/11/10(火) 17:42:00
- http://groups.google.com/group/unladen-swallow/browse_thread/thread/4edbc406f544643e
googleは新規のプロジェクトではpythonを使わないように勧めてるらしい
- 578 :デフォルトの名無しさん:2009/11/10(火) 22:34:32
- GAEもう使ってないから関係ないわw
- 579 :デフォルトの名無しさん:2009/11/11(水) 00:31:02
- だからといってRubyやPerlやPHPが代わりに使われることはないわけだが。
- 580 :デフォルトの名無しさん:2009/11/11(水) 00:33:31
- するとGuile?
名前も似てるしな
名前も似てるしな
- 581 :デフォルトの名無しさん:2009/11/11(水) 01:16:24
- Google のいちおしは Noop on Scala だろ
- 582 :デフォルトの名無しさん:2009/11/11(水) 01:49:35
- Javaってことじゃん
やっぱ時代はじゃばだよな!
- 583 :デフォルトの名無しさん:2009/11/11(水) 12:50:13
- Goって囲碁のプログラムかと思ったよ
シンプルで高速、Googleの新プログラミング言語「Go」
ttp://journal.mycom.co.jp/news/2009/11/11/025/?rt=na
- 584 :デフォルトの名無しさん:2009/11/11(水) 15:23:00
- Google の中の人、言語作るの好きだな
- 585 :デフォルトの名無しさん:2009/11/11(水) 18:21:08
- Noopが当て馬、Goが本命?
- 586 :デフォルトの名無しさん:2009/11/11(水) 22:10:10
- また中途半端なものを出してきたなw
- 587 :デフォルトの名無しさん:2009/11/11(水) 22:46:39
- 単に Google の中の人は飽きっぽいだけだと思
306 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
取りに行ったけどなかった。次は一時間後に取りに行くです。新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.8 2008/11/13 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)