1
>>> c=[1,2,3]
>>> c[1]=c 
>>> d=[1,2,3]
>>> d[1:]=d

>>> print(c)
[1, [...], 3] # Why does C become [1, [...], 3]?
>>> print(d)
[1, 1, 2, 3] # Why is d not [1, [...] ]?

すみません、コードはどこが違うのですか?それは:、または何か他のものですか?

4

3 に答える 3

10

まったく異なるインデックスとスライスの割り当てを使用しています。

これを、式でリストをインデックス付けしてスライスすることと比較してください。

>>> c=[1,2,3]
>>> c[1]
2
>>> d=[1,2,3]
>>> d[1:]
[2, 3]

:リスト インデックスでコロンを使用すると、常に別のリストであるスライスを要求します。

Python では、リスト内の個々の項目とリストのスライスの両方に値を割り当てることができます。

于 2012-10-05T11:37:32.227 に答える
3

slicingsublistはリストの aを抽出するためにindexing使用され、as はリストの特定の要素を取得するために使用されます

slicedList = aList[beginIndex:endIndex]

d[1:]リストをスライスすることを指しますd-これを参照してください。- これはスライスです

c[1]リストの要素ですc。- これは索引付けです

于 2012-10-05T11:37:51.347 に答える
1

print(c) [1, [...], 3] # C が [1, [...], 3] になるのはなぜですか?

c 1 = c を実行しているときは、c 自体を c の 2 番目の位置に割り当てています。このようにして、循環参照を作成しています。したがって、リストを再度表示する代わりに、インタプリタは [...] を表示してその循環参照を示します。詳細については、これを参照してください

于 2012-10-05T11:50:06.923 に答える