2

私はPythonの初心者で、リストへの挿入操作について疑問があります。

例 1:

mylist = ['a','b','c','d','e']
mylist.insert(len(mylist),'f')
print(mylist)

出力:

['a', 'b', 'c', 'd', 'e', 'f']

例 2:

mylist = ['a','b','c','d','e']
mylist.insert(10,'f')
print(mylist)

出力:

['a', 'b', 'c', 'd', 'e', 'f']

2番目の例では、メソッドを挿入するためにインデックス10を指定しているにもかかわらず、リストに「f」要素を挿入するのはなぜですか?

4

2 に答える 2

4

list.insert関数は、指定されたインデックスの前に挿入します。listとにかくあなたの例ではそれほど長くないので、最後に進みます。list.appendとにかく最後に何かを置きたい場合は、使用しないでください。

x = ['a']
x.append('b')
print x

出力は

['a', 'b']
于 2013-08-03T13:25:46.790 に答える
2

ここでのコンセプトは、「このインデックスを持つ要素の前に挿入する」です。最後に挿入できるようにするには、無効な末尾のインデックスを許可する必要があります。Python には明確に定義された「オフザエンド イテレータ」などがないため、1 つの無効なインデックスを許可して他を許可しないよりも、すべてのインデックスを許可する方が理にかなっています。

于 2013-08-03T13:42:29.027 に答える