リストに重複要素があるかどうかの真偽値
names = [ 'b', 'c', 'a', 'd', 'e', 'b', 'f', 'c' ] if len(names) > len(set(names)): print('list に重複要素がある')
set(list) で重複を場外したリストの数と
リストそのままの要素数を比較する方法
重複してるものだけの要素を求める。
リスト.count(x) で個数をカウントしてリスト内包表記で求める
names = [ 'b', 'c', 'a', 'd', 'e', 'b', 'f', 'c' ] duplies = [e for e in set(names) if names.count(e) > 1] print(duplies) # ['c', 'b']
重複を除外たリストにする。(GROUP BY)
unieques = list(set(names))
set() → set 型 → list では set がユニークにした時に、順序は元の順序にならない。
ユニークにした時に、順序は元の順序を保つには、
元のリストの並び index で sorted でソートする
unieques = sorted(set(names), key=names.index) print(unieques) # ['b', 'c', 'a', 'd', 'e', 'f']