どのように私は同じ順序で別のリストに1つのリストの要素を挿入することができますか?

マンティス:

のは、私は果物のリストを持っていると私は別のリストにそのリストの要素を挿入したいとしましょう。リストの内包表記を使用して、私はこのようになりますことを、コードを持っているでしょう。

fruit = ["apple", "orange", "banana", "peach"]

my_list = []

[my_list.insert(0, i) for i in fruit]

print(my_list)

これを返します:

['peach', 'banana', 'orange', 'apple']

しかし、私は、元のリストと同じ順序で配置された要素をしたいです。私の考えはちょうどこのようにそれを逆転されました。

[my_list.insert(-1, i) for i in fruit]

しかし、何らかの理由でそれを返します:

['orange', 'banana', 'peach', 'apple']

誰かがなぜインデックスを使用して私を説明できます[-1]この奇妙な順序で結果?どのように私は、元の順序を達成できますか?

EDIT:

私はの要素を追加するので、私はリストの先頭にリストの要素を挿入する方法を探していることを追加するのを忘れ

more_fruit = ["pear", "pineapple", "coconut"]

my_list = ["apple", "orange", "banana", "peach"]

で生じるはずです

my_list = ["pear", "pineapple", "coconut", "apple", "orange", "banana", "peach"]
アラン・T:

一般的にリスト内包内の「副作用」を使用することも、forループの代わりにそれらを使用することは推奨されません。ただし、単純な添字を使用して別のリストにリストを挿入することができます。

more_fruit = ["pear", "pineapple", "coconut"]
my_list    = ["apple", "orange", "banana", "peach"]

my_list[0:0] = more_fruit

出力:

print(my_list)

# ['pear', 'pineapple', 'coconut', 'apple', 'orange', 'banana', 'peach']

注:添字は、単一の要素または要素の範囲のいずれか、リスト内のいくつかの要素への参照です。この場合、我々は、位置0から始まるゼロ要素を含む要素の範囲を交換します。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=399411&siteId=1