2017-12-20 5 views
0

私は、入力された場合、私は、出力は、例えば[A,C,F]一覧は

になりたいこの['AC', 'AF', 'CF']

のようなリストを持っています。

質問

それを得るために理解しやすい方法は何ですか?

+1

あなたの入力と出力の間の相関関係は何ですか?これまで試みたことを理解できるようにコードを投稿できますか? –

答えて

2

あなたが探しているすべては、あなたの入力中のすべてのユニークな文字のリストである場合、あなたはこのような何かを行うことができます。

sorted(list(set(''.join(['AC', 'AF', 'CF'])))) 

これは、単一の文字列に、あなたの入力を回し、次に変換することによって動作しますその文字列をセットに追加すると、重複が削除されます。そのセットをリストに戻してソートします。

上の例の出力は次のようになります。

['A', 'C', 'F'] 
0

あなたはitertoolsを使用することができます。

import itertools 
s = ['AC', 'AF', 'CF'] 
final_data = list(set(list(itertools.chain(*map(list, s))))) 

出力:listの文字列に

['A', 'C', 'F'] 
0

使用set() 、それからsor sorted()を使用してTセット:

>>> a_list = ['AC', 'AF', 'CF'] 
>>> sorted(set(''.join(a_list))) 
['A', 'C', 'F'] 
>>> b_list = ['AC', 'AD', 'CD'] 
>>> sorted(set(''.join(b_list))) 
['A', 'C', 'D'] 

注、sorted()list返します。

あなたはそれを得るために理解しやすい方法は何を求めているので、これは各ステップで何が起こっているかである。

>>> a_list = ['AC', 'AF', 'CF'] 
>>> ''.join(a_list) # Concatenation of the strings in the list 
'ACAFCF' 
>>> set(''.join(a_list)) # Set is an unordered collection of unique elements 
{'A', 'F', 'C'} 
>>> sorted(set(''.join(a_list))) # List of all the items in the above set in ascending order 
['A', 'C', 'F']