- リストの要素を順に処理し、重複したインデックスを見つける方法:
def find_duplicate_indexes(lst):
duplicate_indexes = []
for i, value in enumerate(lst):
if lst.count(value) > 1:
duplicate_indexes.append(i)
return duplicate_indexes
# 使用例:
my_list = [1, 2, 3, 4, 2, 5, 6, 4]
duplicates = find_duplicate_indexes(my_list)
print(duplicates) # [1, 4, 7]
- リストの要素を辞書として処理し、重複したインデックスを見つける方法:
def find_duplicate_indexes(lst):
index_dict = {}
duplicate_indexes = []
for i, value in enumerate(lst):
if value in index_dict:
duplicate_indexes.extend([index_dict[value], i])
else:
index_dict[value] = i
return duplicate_indexes
# 使用例:
my_list = [1, 2, 3, 4, 2, 5, 6, 4]
duplicates = find_duplicate_indexes(my_list)
print(duplicates) # [1, 4, 7]
- collectionsモジュールの
Counter
クラスを使用して重複した要素を見つける方法:
from collections import Counter
def find_duplicate_indexes(lst):
counter = Counter(lst)
duplicate_indexes = [i for i, count in counter.items() if count > 1]
return duplicate_indexes
# 使用例:
my_list = [1, 2, 3, 4, 2, 5, 6, 4]
duplicates = find_duplicate_indexes(my_list)
print(duplicates) # [2, 4]
これらはいくつかの一般的な方法ですが、状況や要件に応じて他の方法もあります。以上の方法を参考にして、リスト内の重複したインデックスを処理するコードを作成することができます。