2017-02-28 5 views
-2
list = [[11], [21], [31], [41], [-11, 21], [11, -21], 
     [-21, 31], [21, -31], [-31, 41], [31, -41]] 

出力はPythonで、このためのコードを記述する方法Pythonでリストのリストで重複して下さい

list_unique = [11,21,31,41] 

が含まれている必要がありますか?

+1

これは非常に不明です。 '-31'と' -21'が入力に2回以上出現している場合、あなたの出力には含まれていないのはなぜですか? –

+0

これは配置上の問題です。理想的には31と-31は同じで重複しているので、否定で表示されますが、11,21,31,41を出力するだけです。 –

+0

それはあなたの質問にあるはずです。 [How to ask](http://stackoverflow.com/help/how-to-ask)を参照してください - あなたが解決しようとしている問題、解決しようとしていること、そしてどのような問題を正確に説明する必要がありますあなたはあなたの試行されたソリューションを持っています。 –

答えて

1

これを試してみてください:

unique_list = [] 
for i in list: 
    for k in i: 
     if not abs(k) in unique_list: 
      unique_list.append(abs(k)) 
+0

申し訳ありません。私は肯定/否定を逃した –

+0

un-downvoteできますか? –

0

私はここに出力を得ることができています以下のコードです:

input_list = [[11], [21], [31], [41], [-11, 21], [11, -21], [-21, 31], [21, -31], [-31, 41], [31, -41]] 

def get_explode_list(input_list): 
    explode_list = [] 
    for inner_list in input_list: 
     for item in inner_list: 
      explode_list.append(item) 
    return explode_list 

explode_list = get_explode_list(input_list) 
dictionary = {} 
for x in explode_list: 
    value = dictionary.get(x,0) 
    value = value+1 
    dictionary[x] = value 

def get_final_list(dictionary): 
    final_list = [] 
    for key,value in dictionary.items(): 
     if(value > 1 and key >= 0): 
      final_list.append(key) 
    return final_list 

final_list = get_final_list(dictionary) 

final_list = [31、41、11、21] はあなたがこれを使用することができますあなたの入力リストがintではない場合は、get_final_listメソッドで 'and key> = 0'を取り出して実行してください あなたが役に立ったと答えたら、投票してください。

関連する問題