#実現したいこと
下記のリストより特定の年齢層(30~39歳)の所有する車種を重複なく打ち出したい。
またメーカーを"key"にしてそのメーカーの車を所有する人数を"value"として打ち出したい。
python
1 "イニシャル" "年齢" "メーカー" "車種" "ナンバー" 2 "T.T. 26 HONDA CR-V 76-74", 3 "J.L. 25 MITSUBISHI OUTLANDER 31-92", 4 "O.E. 57 MITSUBISHI DELICA 28-88", 5 "P.C. 22 HONDA CR-V 13-89", 6 "X.L. 32 MITSUOKA HIMIKO 33-64", 7 "Z.Y. 56 TOYOTA C-HR 55-11", 8 "M.F. 48 HONDA VEZEL 63-79", 9 "P.Y. 28 DAIHATSU BOON 58-85", 10 "H.C. 41 NISSAN X-TRAIL 33-52", 11 "W.L. 32 TOYOTA C-HR 44-84", 12 "Z.T. 44 NISSAN GT-R 34-49", 13 "Z.E. 53 NISSAN GT-R 94-31", 14 "G.P. 55 DAIHATSU CAST 27-65", 15 "B.T. 25 DAIHATSU THOR 45-11", 16 "H.K. 59 Matsuda FLAIR 84-17", 17 "E.P. 36 SUZUKI JIMNY 52-81", 18 "S.X. 46 TOYOTA COROLLA 15-39", 19 "O.X. 33 Matsuda CX-8 79-24", 20 "E.T. 47 SUZUKI SOLIO 46-21", 21 "D.N. 27 SUZUKI SOLIO 45-22", 22以降同様のリストが続く
##試したこと
ひとまず特定の年齢を一つに絞りその数字を含む要素を抽出後split関数で新たなリストを作成しスライス
python
1 2f = 21 3new_list = [] 4for age in info: 5 if str(f) in age: 6 if "21" in age: 7 if age[8] == "2" and age[9] == "1": 8 age.split() 9 age2 = (age[28:-8]) 10 new_list.append(age2) 11
同様のコードで範囲を拡大(20~29歳)して最後にset()でプリントしたところset()という文字のみがプリントされ求めている回答が得られない状況になっています。
またkeyとvalueについてはsplitで新たなリストを作成後メーカーの前後でスライスし、その後countもしくはfor文を使って計上、最後にd.items()を使ってプリントするという方法で行こうと思うのですが可能でしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。