teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

`がひとつよけいにあった

2016/06/09 14:43

投稿

raccy
raccy

スコア21784

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

注意点とか

2016/06/09 14:43

投稿

raccy
raccy

スコア21784

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からは削除した新しい配列を作る、そしてタプルで渡していくという処理をしています。