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

回答編集履歴

5

大幅に変更しました

2017/11/04 04:22

投稿

_Victorique__
_Victorique__

スコア1392

answer CHANGED
@@ -1,12 +1,10 @@
1
1
  ```Python
2
- lst = [1,2,3,4,5,1,2,3,4,1,2,1,2,3,4,5,6]
2
+ lst = [1,2,3,4,5,1,2,3,4,1,2,1,2,3,4,5,6]+[1]
3
- lst = map(str, lst)
4
- s = "".join(lst)
3
+ num = [i for i,n in enumerate(lst+[1]) if n==1 or lst[i+1]==1]
5
- s_lst = s.split('1')
6
- s_lst = [s for s in s_lst if s!='']
4
+ num_lst = [num[i:i+2] for i in range(0,len(num),2)]
7
- s_lst = list(map(lambda x: [int('1'+x)], s_lst))
5
+ ans = [lst[sf[0]:sf[1]+1] for i,sf in enumerate(num_lst) if i!=len(num_lst)-1]
8
- print(s_lst)
6
+ print(ans)
9
7
 
10
8
  出力結果
11
- [[12345], [1234], [12], [123456]]
9
+ [[1, 2, 3, 4, 5], [1, 2, 3, 4], [1, 2], [1, 2, 3, 4, 5, 6]]
12
10
  ```

4

編集

2017/11/04 04:22

投稿

_Victorique__
_Victorique__

スコア1392

answer CHANGED
@@ -8,5 +8,5 @@
8
8
  print(s_lst)
9
9
 
10
10
  出力結果
11
- [12345, 1234, 12, 123456]
11
+ [[12345], [1234], [12], [123456]]
12
12
  ```

3

編集

2017/11/04 03:41

投稿

_Victorique__
_Victorique__

スコア1392

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  s = "".join(lst)
5
5
  s_lst = s.split('1')
6
6
  s_lst = [s for s in s_lst if s!='']
7
- s_lst = list(map(lambda x: int('1'+x), s_lst))
7
+ s_lst = list(map(lambda x: [int('1'+x)], s_lst))
8
8
  print(s_lst)
9
9
 
10
10
  出力結果

2

編集

2017/11/04 03:40

投稿

_Victorique__
_Victorique__

スコア1392

answer CHANGED
@@ -8,5 +8,5 @@
8
8
  print(s_lst)
9
9
 
10
10
  出力結果
11
- [1, 12345, 1234, 12, 123456]
11
+ [12345, 1234, 12, 123456]
12
12
  ```

1

コードを修正しました

2017/11/04 03:35

投稿

_Victorique__
_Victorique__

スコア1392

answer CHANGED
@@ -3,6 +3,7 @@
3
3
  lst = map(str, lst)
4
4
  s = "".join(lst)
5
5
  s_lst = s.split('1')
6
+ s_lst = [s for s in s_lst if s!='']
6
7
  s_lst = list(map(lambda x: int('1'+x), s_lst))
7
8
  print(s_lst)
8
9