
Duda sobre listas dentro de diccionarios en python
Publicado por mln (4 intervenciones) el 28/12/2016 19:26:16
Hola!! necesito saber cómo hacer que los valores de un diccionario aparezcan como una lista.
Mi problema es: defino una funcion donde al dar una cadena de ADN (por ejemplo: aaagctagcaaa), la funcion me devuelva un diccionario donde las claves sean los tripletes (conjuntos de cada tres letras: aaa gct agc aaa) y los valores sean las posiciones de esos tripletes. Cuando lo ejecuto, si algún triplete sale repetido no me devuelve todas las posiciones, sino solo 1. En el caso del ejemplo, aparece repetido el aaa y solo me da la ultima posicion, la 10. Adjunto cómo lo he hecho yo. Se aceptan otras alternativas para hacerlo.
Muchas gracias!!
Mi problema es: defino una funcion donde al dar una cadena de ADN (por ejemplo: aaagctagcaaa), la funcion me devuelva un diccionario donde las claves sean los tripletes (conjuntos de cada tres letras: aaa gct agc aaa) y los valores sean las posiciones de esos tripletes. Cuando lo ejecuto, si algún triplete sale repetido no me devuelve todas las posiciones, sino solo 1. En el caso del ejemplo, aparece repetido el aaa y solo me da la ultima posicion, la 10. Adjunto cómo lo he hecho yo. Se aceptan otras alternativas para hacerlo.
Muchas gracias!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
dicc={}
def cadena():
DNA=raw_input("Introduzca una cadena de DNA:")
cadenaDNA=DNA.upper().strip().replace(" ","").replace("\n","")
return cadenaDNA
cadenaDNA=cadena()
for base in cadenaDNA:
if base!= "A" and base!="T" and base!="C" and base!="G":
dicc= "False"
break
else:
dicc={}
for letra in range(0,len(cadenaDNA)-2,3):
tripletes=cadenaDNA[letra:letra+3]
dicc[tripletes]=[letra]
print dicc
Valora esta pregunta


0