Python - acceder a diccionario

 
Vista:
sin imagen de perfil
Val: 41
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

acceder a diccionario

Publicado por Eduardo (25 intervenciones) el 30/08/2018 14:26:07
Hola a todos, alguien puede explicarme por favor ¿por qué? o ¿cómo? se accede a los elementos de un diccionario con complement [i] si según he leído sólo se hace con .keys() o .values o .items(). Se trata de imprimir el reverso de la secuencia pero cambiando A por T etc

1
2
3
4
dna="ATGATGCTAGCTAGTCGTAGCTAGTCGAT"
complement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A'}
for i in dna[::-1]:
    print complement[i]

quise imprimir complement [1] (sin bucle) para ver cómo accede a la letra pero da error.

Muchas gracias y un saludo
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
sin imagen de perfil
Val: 8
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

acceder a diccionario

Publicado por antonio (4 intervenciones) el 30/08/2018 17:43:24
1
2
3
4
5
6
7
dna="ATGATGCTAGCTAGTCGTAGCTAGTCGAT"
dnaEspejo=""
complement = {"A": "T", "C": "G", "G": "C", "T": "A"}
for i in dna:
	dnaEspejo=i+dnaEspejo
print(dna)
print(dnaEspejo)
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
Imágen de perfil de abzerox
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

acceder a diccionario

Publicado por abzerox (109 intervenciones) el 30/08/2018 23:47:23
Hola Eduardo, el problema es que los diccionarios son un tipo de dato que no pertenece a las llamadas secuencias de Python, esta es una de las razones por la cual no se puede acceder por medio de un indice al igual que si podemos hacerlo con otros tipos como son las listas, tuplas, y las propias cadenas de caracteres.
Para acceder al valor de un diccionario, debemos indicar la key(clave) a la cual queremos acceder:

Ejemplo:
1
2
>>> d = {'apple':  4, 'orange': 10, 'tomato': 3}
>>> d['orange'] # 10
En el ejemplo anterior la key es orange.

El diccionario, como todo en python es un objeto por lo que cuenta con propiedades y métodos. Como es el caso de .values, .items, keys, estos tres métodos retornan los llamados view objects.

values()
1
2
>>> for v in d.values():
>>>         print(v)

keys()
1
2
>>> for k in d.keys():
>>>         print(k)

items()
1
2
>>> for k, v in d.items():
>>>         print('Key: {} - Value: {}'.format(k, v))
Fijate que en este ultimo ejemplo aplico una tecnica conocida como unpacking en pyhon.
http://treyhunner.com/2018/03/tuple-unpacking-improves-python-code-readability/

Por ultimo te comparto una forma más simple de realizar el ejercicio anterior:

1
>>> ''.join(reversed(dna))  # TAGCTGATCGATGCTGATCGATCGTAGTA

Nos comentas si te sirvió,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 41
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

acceder a diccionario

Publicado por Eduardo (25 intervenciones) el 31/08/2018 22:23:04
Vale muchas gracias por tu respuesta, no comprendo es cómo o por qué se accede con complement si como tu dices y yo he leído no se puede más que con keys values etc

saludos cordiales
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