목록

2017-12-20 2 views
0

내가 입력되면 내가 출력은 예를 들어 [A,C,F]목록

되고 싶어이 ['AC', 'AF', 'CF']

같은 목록을 가지고있다.

질문

그것을 얻을 수있는 이해할 수있는 방법은 무엇입니까?

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

이 하나의 문자열로 입력을 전환 한 후 변환하여 작동합니다 : 당신이 찾고있는 모든 귀하의 의견에 모든 고유 문자의 목록 인 경우

+1

사용자의 입력과 출력 사이의 상관 관계는 무엇입니까? 지금까지 시도한 것을 이해할 수 있도록 코드를 게시 할 수 있습니까? –

답변

2

, 당신은 이런 식으로 뭔가를 할 수 해당 문자열을 집합에 추가하면 중복 항목이 제거됩니다. 그런 다음 해당 집합을 목록으로 변환하고 정렬합니다.

위 예제의 출력은 다음과 같습니다

['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']