2015-01-10 3 views
-2

파이썬 3의 텍스트 파일에서 시퀀스를 찾는 방법을 설명해 주시겠습니까? 예를 들어텍스트 파일에서 시퀀스를 찾는 방법

내가 텍스트 파일이 있습니다

1 
2 
3 
3 
3 
1 
2 
2 
4 

그리고 지금, 예를 들어 내가이 예에서는 하나의 시퀀스 3,3가 (이 파일에 얼마나 많은 '3'의 시퀀스를 계산하려면, 삼).

+2

아무 것도 시도하지 않으셨습니까? 왜 우리는 숙제를해야합니까? – khajvah

+0

방금이 작업을 수행하는 함수를 찾으려고했지만 유용한 이유를 찾지 못했습니다. 이유는 여기에서 묻습니다. – Maciej

+0

글쎄, 이건 좀 문제가있어 직접 작성해야 해. – khajvah

답변

1

당신이 사용할 수있는 감사 Counter

있는 test.txt :

1 
2 
3 
3 
3 
4 
4 
5 
6 
7 
8 
8 
8 
8 
9 

메신저 특정 시퀀스의 한 외관이있을 수 있습니다 가정

from collections import Counter 

with open('test.txt' ,'r') as f: 
    sequences = Counter(f.read().replace("\n", "")) 


for seq, count in sequences.items(): 
    if count > 1: 
     print('number {} appears {} times'.format(seq, count)) 

출력 :

number 4 appears 2 times 
number 3 appears 3 times 
number 8 appears 4 times 
+1

OP는 시퀀스 수를 계산해야하므로 대답은 1이어야합니다. 또한이 작업을 위해 파일에서 목록을 만들지 않아야합니다. – khajvah

+0

@khajvah 맞습니다. 대답은 – Urban48

+0

입니다 ** 파일의 '**'유일한 ** 시퀀스가 ​​있습니다. 대답은 3이 아닌 3이어야합니다. @Mateusz : 시퀀스를 찾으려면'itertools.groupby()'를 사용하십시오 : ['Counter (k for k, groupby의 map (str.strip, file))'] (http://ideone.com/2dgTbA) – jfs

관련 문제