elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Asignar un número a cada valor en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Asignar un número a cada valor en python  (Leído 772 veces)
ZZZz1727z

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Asignar un número a cada valor en python
« en: 13 Marzo 2021, 00:51 am »

Hola, si por ejemplo tengo un lista ['gato', 'perro', 'otro']
Que puedo hacer si lo que quiero es tener {'1':'gato', '2':'perro', '3':'otro'}


En línea

Drakaris

Desconectado Desconectado

Mensajes: 235


Todo lo que puedas imaginar, lo puedes crear.


Ver Perfil
Re: Asignar un número a cada valor en python
« Respuesta #1 en: 13 Marzo 2021, 01:16 am »

Buenas! No conozco mucho este leguaje, pero me parece que no existen los objetos tal cual como en javascript en Python,
Código
  1. {
  2.    1: 'gato',
  3.    2: 'perro',
  4.    3:'otro'
  5. }
  6.  

Pero si existe la posibilidad de hacer arrays bidireccionales, así que, simplemente puedes obtener la longitud del la lista ['gato', 'perro', 'otro'], y hacer un bucle for de cuyo rango de longitud que te dio. Y en cada iteración modificar el elemento del indice actual por un array que contenga el numero en sí y el valor.

Primero obtenemos la longitud de la lista, imaginando que la variable 'lista' contiene el array
Código
  1. lenList=len(lista)
A continuación hacemos un bucle con el rango de la longitud

Código
  1. for i in range(len(lista)):
  2. lista[i] = [i,lista[i]]
  3.  

Y dentro le modificamos el elemento del array cuyo indice es de la iteración actual, no se, sí me explico bien.

Y si hicieramos un echo lista, veriamos que se creo un array bidireccional

Te dejo un ejemplo y su salida:
Código
  1. lista = ["gato","perro","otro"];
  2. def ordenarValores(list):
  3. for i in range(len(lista)):
  4. lista[i] = [i,lista[i]]
  5. print(lista)
  6. ordenarValores(lista)
  7. print(lista[0][1])
  8.  

Salida
Citar
[[0, 'gato'], [1, 'perro'], [2, 'otro']]
gato

Espero que te haya respondido a tu duda y te haya ayudado. Buen dia.


« Última modificación: 13 Marzo 2021, 01:18 am por Drakaris » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.273

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Asignar un número a cada valor en python
« Respuesta #2 en: 13 Marzo 2021, 03:51 am »

como dijiste tenés una lista y lo que mostrás que querés tener es un diccionario, si bien se puede hacer de forma manual, no le veo sentido, la rueda ya está inventada, así que usamos las funciones dict y enumerate:
Código
  1. lista=['gato', 'perro', 'otro']
  2. diccionario =dict(enumerate(lista,1))
  3. print(diccionario)
  4.  

y listo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python]Sumar valor numérico de cada carácter de una cadena(ASCII).
Scripting
S3kh 7 8,453 Último mensaje 4 Septiembre 2011, 03:57 am
por S3kh
[javascript] Asignar un valor dinamico a un atributo
Desarrollo Web
erest0r 3 1,615 Último mensaje 16 Noviembre 2014, 02:17 am
por erest0r
(Solucionado) No consigo asignar valor a una variable en javascript
Desarrollo Web
Pantera80 1 2,005 Último mensaje 22 Febrero 2016, 20:43 pm
por Pantera80
Como asignar un valor a una variable js
Desarrollo Web
SrTrp 0 805 Último mensaje 27 Septiembre 2017, 19:32 pm
por SrTrp
consulta asignar enteros a un valor logico
Programación C/C++
Beginner Web 2 430 Último mensaje 12 Diciembre 2018, 20:23 pm
por Beginner Web
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines