前提・実現したいこと
Python
1lst = [1,2,3,1,4,5,6] 2 3#理想 4lst1 = [1,3,4,6] 5lst2 = [2,1,5]
上のように、
indexが偶数の場合はlst1
indexが奇数の場合はlst2
といったようにリストをわけたい。
発生している問題・エラーメッセージ
重複している数がある場合、リストの一番初めにその数があるところのindexを取ってきてしまうため、うまくいきません。
該当のソースコード
Python
1lst = [1,1,1,2,4,5] 2lst1 = [i for i in list1 if list1.index(i) % 2 == 0] 3 4# Out 5# lst1 6# [1, 1, 1, 4]
試したこと
Python
1def has_duplicates(seq): 2 if len(seq) != len(set(seq)): 3 return True 4 else: 5 return False
で重複の判定をし、重複がある場合は
pop()で要素を消去、、、など試しましたが、indexがその都度変わってしまうのでうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
python 3.7.6
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/11 07:03