2013-09-06 2 views
2

저는 Python을 처음 사용합니다. 중복 된 항목이있는 목록이 있습니다. 어떤 식 으로든 UNIQUE 문자열의 수를 계산할 수 있습니까? 감사합니다,목록의 고유 문자열 수를 센? Python 3

input1 = input("Name ") 
input2 = [] 
input2.append(input1) 
while input1: 
    input1 = input("Name ") 
    input2.append(input1) 

입력 한 고유 이름 수를 인쇄하고 싶습니다. 감사!

+1

당신은 3 행을 삭제하고 선을 반전 할 수 있습니다 이것은 while 루프를 끝내는 빈 문자열을 포착하는 것을 피할 것이다. –

+0

그것을 고쳐 준 @StevenRumbalski에게 고맙습니다. – R337

답변

3

이것에 대해 어떻게 :

len(set(input2)) 

len(set(n[5:] for n in input2)) 
+0

나는 이것을 사용하려했지만 작동하지 않았다. '이름 : 닉 이름 : 샘 이름 : 닉 이름 : 롭 이름 #whitespace 4 #len (설정 (입력 2)) [ '닉', '샘', '닉', '롭' '']' – R337

+0

리스트 끝에있는 빈 문자열을 고유 한 요소로 계산하므로 길이가 4입니다. 내 의견에 제안 된 변경 사항을 귀하의 질문에 적용하면 문제가 해결됩니다. –

+0

'len (input2의 n에 대해 (n [5 :]) 설정))''해야 할 일은 무엇입니까? –

2

우리는

>>> a=['Jack','Jill','Jack'] 
>>> from collections import Counter 
>>> myDict=Counter(a); 
>>> myDict 


Counter({'Jack': 2, 'Jill': 1}) 

그런 다음 우리가 사전으로 myDict을 사용할 수 있습니다 컬렉션에서 카운터를 사용할 수 있습니다 만

관련 문제