0
list1 = [1,2,3,4,5,6,7,8,9]
def replace():

    input_list = input("Enter three numbers separated by commas: ")
    list2 = input_list.split(',')
    list2 = [int(x.strip())for x in list2]

    del list1[-3:]
    list1.insert(0,list2)

    print(list1)

入力12,13,14の場合、これは結果として得られます[[12,13,14]、1,2,3,4,5,6]まず、結果として「フラット」リストが必要です。これは正しいようです[12、13、14、1、2、3、4、5、6]。list2 = [int(x.strip())for ...]ステートメントから角かっこを削除することで、リストの一部として入力された最後の値を取得できます。[14,1,2,3,4,5 、6]。私の2番目の願いは、最初のリストを永続的に変更できることです。つまり、[12,13,14,1,2,3,5,6]が最初に呼び出されるlist1になります。これをcsvファイルとして保存して書き込む必要がありますか?私はこれに非常に慣れていないので、これが非常に単純な質問または愚かな質問のバッチである場合はご容赦ください。

4

1 に答える 1

1

私はこれがあなたが望むものだと信じています:

In [11]: list1 = [1, 2, 3, 4, 5, 6]

In [12]: list2 = [12, 13, 14]

In [13]: list1[0:0] = list2

In [14]: list1
Out[14]: [12, 13, 14, 1, 2, 3, 4, 5, 6]

スライス操作list1はインプレースで変更されるため、変数は単に新しいリストを指しているわけではありません。それが「永久に」という意味だと思いますか?

于 2012-11-14T15:46:38.337 に答える