Python - Eliminar corchetes de una diccionario

   
Vista:

Eliminar corchetes de una diccionario

Publicado por Carolina (9 intervenciones) el 22/02/2016 23:24:03
Hola a todos,

cree un programa que después de procesar input me arroja un archivo .txt con una lista de palabras que luce así mas o menos:

['Google', 'become', 'ingrained', 'part', 'daily', 'lives', 'take', 'granted', 'turning', 'everything', 'recipes', 'directions']

Lo que quiero hacer ahora es un código que me cuente cada palabra y la frecuencia con la que aparece en eöl texto. Eso lo logre asi:


1
2
3
4
5
6
7
8
9
korpi = open("prueba.txt")
counts = dict()
for word in korpi.read().split():
    word = word.lower()
    if word not in counts:
        counts[word] = 1
    else:
        counts[word] = counts[word] + 1
print(counts)

Todo funciona perfecto, excepto que la imprimir el resultado me suelta alguna palabra con el corchete de la lista inicial, por ejemplo:

1
{"'ingrained',": 1, "'lives',": 1, "['google',": 1, "'everything',": 1, "'granted',": 1, "'turning',": 1, "'become',": 1, "'recipes',": 1, "'take',": 1, "'directions']": 1, "'daily',": 1, "'part',": 1}

como ven, "google" y "directions" tienen corchetes. El problema es que si por ej. google se volviera a repetir, la contaría como palabra diferente, porque "google" y "[google" no es lo mismo. Hay manera de eliminar esos corchetes? Ya sea justo al abrir el archivo en "korpi = open("prueba.txt")" o al imprimir el resultado?

Les agradezco de antemano la colaboración prestada.

Carolina.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Eliminar corchetes de una diccionario

Publicado por xve (1229 intervenciones) el 23/02/2016 08:55:04
Hola Carolina, lo que tienes que hacer antes de empezar, es eliminar dichos caracteres... algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
korpi = open("prueba.txt")
counts = dict()
 
cadena=korpi.read().strip()[1:-1]
 
for word in cadena.split():
    word = word.lower()
    if word not in counts:
        counts[word] = 1
    else:
        counts[word] = counts[word] + 1
 
print(counts)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Eliminar corchetes de una diccionario

Publicado por Carolina (9 intervenciones) el 25/02/2016 00:41:06
Funciono perfecto, muchas gracias :) la respuesta era mas sencilla de lo que esperaba. Estaba complicándome demasiado la vida con expresiones regulares y otras cosas raras!.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar