2016-10-16 5 views
0
sample = ['AAAA','ABCB','CCCC','DDEF'] 

すべての要素が要素内でそれ自身と同一であるすべての要素を削除する必要があります。コメントに答えるためにAAAAA、CCCCC各文字が同じ(Python)のときにリストから要素を削除するにはどうすればいいですか?

output = ['ABCB','DDEF'] 

sample1 =[] 
for i in sample: 
    for j in i: 
     if j == j+1: #This needs to be corrected to if all elements in i identical to each other i.e. if all "j's" are the same 
     sample1.pop(i) 

印刷サンプル

答えて

6
sample = ['AAAA','ABCB','CCCC','DDEF'] 
output = [sublist for sublist in sample if len(set(sublist)) > 1] 

EDIT。

sample = [['CGG', 'ATT'], ['ATT', 'CCC']] 
output = [] 
for sublist in sample: 
    if all([len(set(each)) > 1 for each in sublist]): 
     output.append(sublist) 

# List comprehension (doing the same job as the code above) 
output2 = [sublist for sublist in sample if 
      all((len(set(each)) > 1 for each in sublist))] 
+0

私はこの問題への拡張子の助けを必要としていました。私がリスト[.. 'CGG'、 'ATT']、['ATT'、 'C​​CC']のリストを持っていたら、ペアのうちの1つがすべて同じ要素を持つペアをどのように削除できますか?したがって、ここでは出力は[['CGG'、 'ATT']] – biogeek

+0

となります。あなたはあなたが['ATT'、 'C​​CC']を削除することを意味しています。 – Nf4r

+0

はい、それは間違いです – biogeek

2
sample = ['AAAA','ABCB','CCCC','DDEF'] 

sample1 = [] 
for i in sample: 
    if len(set(i)) > 1: 
     sample1.append(i) 
+0

私はこの問題の拡張を助けが必要でした。私がリストのリストを持っていれば、どのようにしてペアを削除することができますか?ペアのうちの1つがすべて同じ要素を持っています(例:CCC )?したがって、ここでの出力は[['CGG'、 'ATT']] – biogeek

関連する問題