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

回答編集履歴

4

修正

2020/06/22 02:47

投稿

ForestSeo
ForestSeo

スコア2724

answer CHANGED
@@ -12,4 +12,14 @@
12
12
  # TOYOTA: 1人
13
13
  # SUZUKI: 1人
14
14
  # Matsuda: 1人
15
- ```[Counter](https://note.nkmk.me/python-collections-counter/)を使うと簡単
15
+ ```[Counter](https://note.nkmk.me/python-collections-counter/)を使う
16
+ ***
17
+ 5行目が複雑ですが、
18
+ ```Python
19
+ companies = [l[2] for l in lst if 30 <= int(l[1]) <= 39]
20
+ # ↓
21
+ companies = []
22
+ for l in lst:
23
+ if 30 <= int(l[1]) <= 39:
24
+ companies.append(l[2])
25
+ ```と同じこと

3

修正

2020/06/22 02:47

投稿

ForestSeo
ForestSeo

スコア2724

answer CHANGED
@@ -12,4 +12,4 @@
12
12
  # TOYOTA: 1人
13
13
  # SUZUKI: 1人
14
14
  # Matsuda: 1人
15
- ```
15
+ ```[Counter](https://note.nkmk.me/python-collections-counter/)を使うと簡単

2

修正

2020/06/22 02:44

投稿

ForestSeo
ForestSeo

スコア2724

answer CHANGED
@@ -1,20 +1,7 @@
1
1
  ```Python
2
2
  from collections import Counter
3
3
 
4
- lst = [
4
+ lst = # あなたのリスト
5
- "X.L. 32 MITSUOKA HIMIKO 33-64",
6
- "Z.Y. 56 TOYOTA C-HR 55-11",
7
- "M.F. 48 HONDA VEZEL 63-79",
8
- "P.Y. 28 DAIHATSU BOON 58-85",
9
- "H.C. 41 NISSAN X-TRAIL 33-52",
10
- "W.L. 32 TOYOTA C-HR 44-84",
11
- "Z.T. 44 NISSAN GT-R 34-49",
12
- "Z.E. 53 NISSAN GT-R 94-31",
13
- "E.P. 36 SUZUKI JIMNY 52-81",
14
- "O.X. 33 Matsuda CX-8 79-24",
15
- "E.T. 47 SUZUKI SOLIO 46-21",
16
- "D.N. 27 SUZUKI SOLIO 45-22",
17
- ]
18
5
  lst = [s.split() for s in lst] # splitして2次元配列に
19
6
  companies = [l[2] for l in lst if 30 <= int(l[1]) <= 39] # 30~39歳の人の会社のリスト
20
7
  counts = Counter(companies) # どの会社の車を何人の人が持っているか

1

修正

2020/06/22 02:42

投稿

ForestSeo
ForestSeo

スコア2724

answer CHANGED
@@ -2,10 +2,6 @@
2
2
  from collections import Counter
3
3
 
4
4
  lst = [
5
- "T.T. 26 HONDA CR-V 76-74",
6
- "J.L. 25 MITSUBISHI OUTLANDER 31-92",
7
- "O.E. 57 MITSUBISHI DELICA 28-88",
8
- "P.C. 22 HONDA CR-V 13-89",
9
5
  "X.L. 32 MITSUOKA HIMIKO 33-64",
10
6
  "Z.Y. 56 TOYOTA C-HR 55-11",
11
7
  "M.F. 48 HONDA VEZEL 63-79",
@@ -19,14 +15,14 @@
19
15
  "E.T. 47 SUZUKI SOLIO 46-21",
20
16
  "D.N. 27 SUZUKI SOLIO 45-22",
21
17
  ]
22
- lst = [s.split() for s in lst]
18
+ lst = [s.split() for s in lst] # splitして2次元配列に
23
- companies = [l[2] for l in lst if 30 <= int(l[1]) <= 39]
19
+ companies = [l[2] for l in lst if 30 <= int(l[1]) <= 39] # 30~39歳の人の会社のリスト
24
- counts = Counter(companies)
20
+ counts = Counter(companies) # どの会社の車を何人の人が持っているか
25
21
  for k,v in counts.items():
26
- print(f"{k}: {v}人")
22
+ print(f"{k}: {v}人") # 結果
27
23
 
28
- # MITSUOKA:1人
24
+ # MITSUOKA: 1人
29
- # TOYOTA:1人
25
+ # TOYOTA: 1人
30
- # SUZUKI:1人
26
+ # SUZUKI: 1人
31
- # Matsuda:1人
27
+ # Matsuda: 1人
32
28
  ```