Python - matriz que acepte diferentes tipos de datos

 
Vista:

matriz que acepte diferentes tipos de datos

Publicado por jam (1 intervención) el 03/06/2017 16:15:10
Saludos,

Necesito colocar en una matriz mixta, dos tipos de datos (textos y números). similar a esto:

cadena1 2000 2001 2002 .... ....
cadena2 2016 2017 2009 .... ....
cadena3 2002 2003 2004 .... ....
cadena4 2001 2008 2005 .... ....

es decir la primera columna de la matriz debe permitir cadenas de caracteres, y el resto de las celdas deben permitir datos numéricos.

me pueden ayudar en primer lugar a solucionar como la defino, lo del llenado es mas fácil y lo se resolver.
he hecho esto pero no me funciona

1
2
3
4
5
6
7
na=int(input("Digite Número de años a procesar   :"))
nd=int(input("Digite cantidad de Dptos a trabajar:"))
 
#creacion de matrices y vectores
no_egresados=[[""for x in range(na)] 0 (nd+1)]
 
print (no_egresados)

me sale esto



muchas gracias.
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 [abZeroX]
Val: 402
Bronce
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

matriz que acepte diferentes tipos de datos

Publicado por [abZeroX] (96 intervenciones) el 04/06/2017 06:15:28
Hola no estoy seguro si es lo que buscas pero igual te comparto un código que hice:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: utf-8 -*-
matriz = []
rows = 5
cols = 2
 
for i in range(rows):
        matriz.append([])
        for j in range(cols):
                matriz[i].append("cadena" if j == 0 else j)
 
# Usando Listas por compresión
matriz_2 = [[ "cadena" if x == 0 else x for x in range(cols) ] for i in range(rows)]
 
print(matriz)
print(matriz_2)

Nos comentas.
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 kip
Val: 1.148
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

matriz que acepte diferentes tipos de datos

Publicado por kip (257 intervenciones) el 04/06/2017 06:47:28
Hola, no se entiende del todo tu codigo, pero al igual que abZeroX he hecho algo sencillo en base a lo que pude entender:

1
2
3
4
5
6
7
na = int(input("Digite Número de años a procesar :"))
nd = int(input("Digite cantidad de Dptos a trabajar:"))
 
no_egresados = [['Departamento %s' % dept] + [2000 + nap for nap in range(na)] for dept in range(1, nd + 1)]
 
for no_egresado in no_egresados:
    print(no_egresado)

Me muestra algo asi:

1
2
3
4
5
6
['Departamento 1', 2000, 2001, 2002, 2003]
['Departamento 2', 2000, 2001, 2002, 2003]
['Departamento 3', 2000, 2001, 2002, 2003]
['Departamento 4', 2000, 2001, 2002, 2003]
['Departamento 5', 2000, 2001, 2002, 2003]
['Departamento 6', 2000, 2001, 2002, 2003]

Te sirve ?
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