09/09/21 09:21:42
>>924
入門書嫁。
932:デフォルトの名無しさん
09/09/21 09:34:48
>>924は何に対して違和感を感じているんだろう
配列が伸び縮みすることになのか
要素の範囲を指定して代入することになのか
L[:] ってなんかきんもー、なのか
933:デフォルトの名無しさん
09/09/21 10:42:30
>>> l=[9,8,7,6]
>>> l
[9, 8, 7, 6] <- 普通
>>> l[1:]=[3,4,5]
>>> l
[9, 3, 4, 5] <- 普通
>>> l[1:]=[2,1]
>>> l
[9, 2, 1] <- きもい
>>> l[:]=0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only assign an iterable <- 微妙
>>> l[:]=[0,0]
>>> l
[0, 0] <- きもい
934:デフォルトの名無しさん
09/09/21 10:47:29
[1:]=の結果に違和感覚えないのに[:]の結果に違和感覚える理由が解らん
935:デフォルトの名無しさん
09/09/21 11:08:09
>>933
スライスの代入で左辺と右辺のリストの要素数が
一致していなくても構わない(右辺にあわせて伸び縮みする)のが気持ち悪いってこと?
だったらリンクリストでも勉強すれば違和感なくなるんじゃないかね
936:デフォルトの名無しさん
09/09/21 13:53:54
>>934
>>> l[1:]=[2,1]
>>> l
[9, 2, 1] <- きもい
937:デフォルトの名無しさん
09/09/21 14:02:18
だから入門書読めよ低脳。
938:デフォルトの名無しさん
09/09/21 14:14:12
バカだなあ。
939:デフォルトの名無しさん
09/09/21 14:31:56
つーか、それがキモイならスライスの意味ないだろとw
940:デフォルトの名無しさん
09/09/21 17:05:35
>>> l[1:]=[3,4,5]
>>> l
[9, 3, 4, 5] <- 普通
>>> l[1:]=[2,1]
>>> l
[9, 2, 1] <- きもい
このきもいと普通の違いがわからん
要素が1個減ったらきもい?何か見落としてるんだろうか・・・
941:デフォルトの名無しさん
09/09/21 17:42:29
C言語の配列かなんかと勘違いしてるんじゃね?
抽象度の高い操作を理解できないとか
942:デフォルトの名無しさん
09/09/21 18:08:31
スライスの代入ってあんまりやんないからどうでもいいや
943:デフォルトの名無しさん
09/09/21 20:57:09
python の配列って中身はリストなんですか?
と思ったら
L=[]
で L に代入してるな orz
944:デフォルトの名無しさん
09/09/21 21:06:25
変数名がL,M,Nではじまる場合にはリストなんだよ。
945:デフォルトの名無しさん
09/09/21 21:12:52
>>941
あぁ。3要素のときはreplaceに見えるからきもくないのか
よくわかったありがとう
946:デフォルトの名無しさん
09/09/21 21:13:33
Pythonのお勉強 Part35
スレリンク(tech板)
947:デフォルトの名無しさん
09/09/21 21:30:13
>>943
質問の意味がよくわからないが、
Pythonのリストはメモリ上の連続領域を利用した配列型のリスト
(C++のstd::vectorやJavaのArrayListの類)
いわゆる連結リストではないので途中に挿入する操作には弱い。
948:デフォルトの名無しさん
09/09/21 23:45:44
>>942
直感的に思えないから、俺もあまり使わないな。
冗長でも、新しいリストを作ってしまうな
949:デフォルトの名無しさん
09/09/22 02:10:54
>>948
>>947 の言う通りなら新しく作りなおしてもそんなに速度は変わらなさそうですね
950:デフォルトの名無しさん
09/09/22 10:35:41
実装は連続メモリ型かも知れんが
表向きリストのような動作をするように設計されてんだろうな
951:デフォルトの名無しさん
09/09/23 12:59:51
from VideoCapture import Device
cam = Device()
cam.saveSnapshot('image.jpg')