2016-08-26 1 views
0

배열이 추가 된 텍스트 파일이 있습니다. 'image' 내가 원하는 것은 텍스트 파일에서 추출한 후 각 단어에 대해 얼마나 많은 시간이 걸리는지입니다. index[2] 텍스트 파일 예를 들어 hablar는 한 번 발생합니다. 그런 다음 그래프를 그릴 때 사용합니다.각 요소를 변수의 괄호로 나누고 어커런스를 찾습니다.

문제는 내가 파일을 가져올 때

with open("wrongWords.txt") as file: 
    array1 = [] 
    array2 = [] 
    for element in file: 
     array1.append(element)  
    x=array1[0] 
    print(x) 

인쇄 x는 수행하십시오 stringlist로 변환하려면 목록에서 목록으로 나에게 부여합니다

(12, 'a', 'hablar', 'to speak')(51, 'a', 'ocurrir', 'to occur/happen')(12, 'a', 'hablar', 'to speak')(2, 'a', 'poder', 'to be able')(11, 'a', 'llamar', 'to call/name')

+0

는 필요한 출력은 무엇인가? –

+0

이렇게 출력하려고합니다. hablar 2, llamar 1 등을 그릴 수 있습니다. – Smith

+0

필수 로그인을 기반으로 답변을 업데이트했습니다. 희망이 당신이 원하는 것입니다. O/P : { 'hablar': 2, 'ocurrir': 1, 'poder': 1, 'llamar': 1} –

답변

0

오는 것입니다 :

>>> s = "(12, 'a', 'hablar', 'to speak')(51, 'a', 'ocurrir', 'to occur/happen')(12, 'a', 'hablar', 'to speak')(2, 'a', 'poder', 'to be able')(11, 'a', 'llamar', 'to call/name')" 
>>> s = s.replace(')(', '),(') 
# s = "(12, 'a', 'hablar', 'to speak'),(51, 'a', 'ocurrir', 'to occur/happen'),(12, 'a', 'hablar', 'to speak'),(2, 'a', 'poder', 'to be able'),(11, 'a', 'llamar', 'to call/name')" 

>>> my_list = list(eval(s)) 
# my_list = [(12, 'a', 'hablar', 'to speak'), (51, 'a', 'ocurrir', 'to occur/happen'), (12, 'a', 'hablar', 'to speak'), (2, 'a', 'poder', 'to be able'), (11, 'a', 'llamar', 'to call/name')] 

key의 전자 수 list에서 (귀하의 경우 인덱스 2에) :

>>> my_dict = {} 
>>> for item in my_list: 
...  my_dict[item[2]] = my_dict.get(item[2], 0) + 1 
... 
>>> my_dict 
{'hablar': 2, 'ocurrir': 1, 'poder': 1, 'llamar': 1} 
관련 문제