私はリストlist=[3,2,1,3,2,1]
を受け取り、すべてのアイテムについて、そのアイテムが値a
であるかどうかを確認し、b
の値をthelist
に置き換え、そのコピーを返します。(再帰的に)変更されたリストを返すか?
def replace(list,a,b):
#base case 1: list is empty
if list==[]:
return list
#case 1: the first character is a
elif list[0] == a:
list[0] = b
return replace(list[1:],a,b)
#case 2: the first character is not a
elif list[0]!=a:
return replace(list[1:],a,b)
return list
私の問題は、このコードからの私(が各再帰を印刷し、print文が息切れのために取り出した)出力はこのようになっていることである:
[3,2,1,3,2,1]
[2,1,3,2,1]
[4,3,2,1]
[3,2,1]
[2,1]
[4]
これは、これまでの私のコードです私が探している出力は:
[3,2,4,3,2,4]
出力を得る方法がわかりません。
あなたがリストのELEMENTOSを反復処理すると= –
すべての要素をチェックするループを必要とする方法はありますfor-loopなしでそれをするには? – Jam
jjb:これは別の質問です。 – martineau