2017-01-28 8 views
-1

のリストのサブリスト内の文字私はリストの膨大なリストを持っているに参加する、これはそれの部分である:Pythonの:リスト

[['cusA', 'zupT', 'rcnA', 'cusA', 'zupT', 'zupT']] 

私はリストのリスト全体で次の操作をした:

[list(x) for x in set(tuple(x) for x in my_list)] 

私はサブリストにユニークな情報を持ちたいからです。これは、次の返さ:それはユニークになってなかったので、素晴らしいですが、今、私は文字ずつ分割されることなく、よりその元になるためにそれらを必要とする

[['c', 'u', 's', 'A'], ['r', 'c', 'n', 'A'], ['z', 'u', 'p', 'T']] 

サブリスト内で再結合する方法はありますか?

+1

リスト内のリストの順序は重要ですか? –

+0

'my_list'は最初の部分のリストですか?だから私は別の結果を得るからです。 –

+0

こんにちは。 my_listが外側のリストです。@tobias_k –

答えて

1

list(x)の代わりに''.join(x)を使用してください。

しかし、tuple:list(set(my_list))を呼び出す代わりに、文字列自体をセットに入れることができます。あなたがこれを行うことができますあなたの全体のリストについては、

print(''.join(['c', 'u', 's', 'A'])) # cusA 

+0

リストの順序が問題でない場合* –

1

すでに述べたように:あなたは、文字列をjoinでき

lst = [['c', 'u', 's', 'A'], ['r', 'c', 'n', 'A'], ['z', 'u', 'p', 'T']] 

str_lst = [''.join(item) for item in lst] 
print(str_lst) # ['cusA', 'rcnA', 'zupT'] 

ノート単一のリストを作成するにはポイントが存在しないこと文字;文字列自体は文字のリストのように振る舞います(しかし、不変のものです)。あなたがこれを行うことができdirectoy:インナーリストの内容の順序は重要ではありません場合はいえ順序を維持しません

print(set(['cusA', 'zupT', 'rcnA', 'cusA', 'zupT', 'zupT'])) 
# {'zupT', 'cusA', 'rcnA'} 
# if you need a list again instead of a set: 
print(list(set(['cusA', 'zupT', 'rcnA', 'cusA', 'zupT', 'zupT']))) 
# ['zupT', 'cusA', 'rcnA'] 

...

1

は、あなたがセットにそれらを回すことができ、そのユニークな要素の非順序付きコレクションで、その後、リストに戻って、そのセットを回す:

result = [list(set(li)) for li in my_list] 

プリント:

[['cusA', 'rcnA', 'zupT']]