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

回答編集履歴

2

脱出の簡略化

2019/02/07 13:51

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -6,16 +6,14 @@
6
6
 
7
7
  x = STA
8
8
  result = []
9
- while True:
9
+ while b:
10
10
  result.append(x)
11
11
  for i, t in enumerate(b):
12
12
  if x in t:
13
13
  x = t[t[0] == x]
14
14
  break
15
15
  del b[i]
16
- if not b:
17
- result.append(x)
16
+ result.append(x)
18
- break
19
17
 
20
18
  print(result) # => ['山田', '田中', '佐藤', '鈴木', '渡辺']
21
19
 

1

修正

2019/02/07 13:51

投稿

hayataka2049
hayataka2049

スコア30939

answer CHANGED
@@ -1,3 +1,5 @@
1
+ 素直にループでやってみました。
2
+
1
3
  ```python
2
4
  STA = '山田'
3
5
  b = [('鈴木','佐藤'),('山田','田中'),('田中','佐藤'),('渡辺','鈴木')]
@@ -8,7 +10,7 @@
8
10
  result.append(x)
9
11
  for i, t in enumerate(b):
10
12
  if x in t:
11
- x = t[1 if t[0] == x else 0]
13
+ x = t[t[0] == x]
12
14
  break
13
15
  del b[i]
14
16
  if not b: