次のように任務を与えられました。
listA、listB、およびインデックスの 3 つのパラメーターを受け取り、listB の要素がインデックスに挿入された listA のコピーを返す、insert という関数を作成します。コードは、文字列とリストの両方で機能する必要があります。
例は次のようになります。
insert([1,2,3], ['a', 'b', 'c'], 3)
与えるべき[1, 2, 'a', 'b', 'c', 3]
と:
insert('dog', 'cat', 1)
与えるべき'dcatog'
この最初の部分は、ループありとループなしの両方で完成させたいと思っています。これまでのところ、私は得ました:
def insert (listA, listB, index):
return listA[0:index] + listB + listA[index:len(listA)]
これは正しく機能し、上記の正しい例が得られます。ただし、ループでこれを行う方法がわかりません。次のように for ループを使用しようとしています。
def insert (listA, listB, index):
for nextchar in listA:
if nextchar == index:
listA.insert(index, listB)
return listA
しかし、それは正しくありません。それは私が得た最も近いものです。
[1, 2, ['a', 'b', 'c'], 3]
と
'dog'
上記の例の場合。
しかし、それはネストされたリストですよね?私はそれをしたくありません。2 番目の例は完全に間違っています。