回答編集履歴
2
`がひとつよけいにあった
answer
CHANGED
@@ -5,5 +5,5 @@
|
|
5
5
|
b = ["a", "a", "a", "b", "c", "c"]
|
6
6
|
print(functools.reduce(lambda t, x: (t[0] + [x], [y for i, y in enumerate(t[1])
|
7
7
|
if i != t[1].index(x)]) if x in t[1] else t, a, ([], b))[0])
|
8
|
-
```
|
8
|
+
```
|
9
9
|
aとbを書き換えないようにするため、reduceを使って、aの要素を追加した新しい配列を作りながら、bからは削除した新しい配列を作る、そしてタプルで渡していくという処理をしています。
|
1
注意点とか
answer
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
-
|
1
|
+
けっこうごちゃごちゃしている感じになってしまいましたが、こんなのでしょうか?
|
2
2
|
```Python
|
3
3
|
import functools
|
4
4
|
a = ["a", "a", "a", "a", "b", "b", "c", "d"]
|
5
5
|
b = ["a", "a", "a", "b", "c", "c"]
|
6
6
|
print(functools.reduce(lambda t, x: (t[0] + [x], [y for i, y in enumerate(t[1])
|
7
7
|
if i != t[1].index(x)]) if x in t[1] else t, a, ([], b))[0])
|
8
|
-
````
|
8
|
+
````
|
9
|
+
aとbを書き換えないようにするため、reduceを使って、aの要素を追加した新しい配列を作りながら、bからは削除した新しい配列を作る、そしてタプルで渡していくという処理をしています。
|