如果重复,则返回列表中每个元素的索引

时间:2017-12-05 13:36:28

标签: python list element

如果重复元素的某些部分(所有文本没有下划线和数字),我需要找到元素的所有索引。 我是Python的新手,这就是我使用以下代码的原因:

import re
list = ['Magnet_1' , 'Magnet_2' , 'Magnet_3']
list2 = []
for i in range(len(list)):
  list2.append(str(re.sub('[^a-z,A-Z]','', list[i])))

indexList = []
for i in range(len(list2)):
    if list2.count(list2[i]) > 1:
        indexList.append(i)

for i in range(len(indexList)):
    print(list[indexList[i]]) 
可能你能为我提供更优雅的程序吗?

1 个答案:

答案 0 :(得分:0)

[]

=============================================== ==

import re

list1 = ['Magnet_1' , 'Magnet_2' , 'Magnet_3']    
list2 = list(set([''.join(filter(str.isalpha,s)) for s in list1]))    
print (list2)

我希望这个1-liner有帮助!修改列表到list1所以python不会混淆:)

相关问题