2017-12-05 13 views
0

要素の一部が繰り返されている場合は、すべての要素のインデックスを検索する必要がありました(アンダースコアと数字のないすべてのテキスト)。 私は本当に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]]) 

は、あなたが私にもっとエレガントな手順を提供することができますことができますか?

答えて

0
import re 

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

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

[''.join(filter(str.isalpha,s)) for s in list1] --> the list without numbers/special characters 

list(set())-->removes the duplicate characters 

私はPythonが混乱しないでしょうLIST1するリストを変更!この1-ライナーが役に立てば幸い:)

関連する問題