Me estoy volviendo loco con índices de listas, y no puedo explicar lo que estoy haciendo mal.Agregar elementos a una lista de listas en python
Tengo este código en el que quiero crear una lista de listas, cada una de las cuales contiene valores del mismo parámetro de circuito (voltaje, corriente, etc.) que estoy leyendo de un archivo csv
que se parece a esto:
Sample, V1, I1, V2, I2
0, 3, 0.01, 3, 0.02
1, 3, 0.01, 3, 0.03
Y así sucesivamente. Lo que quiero es crear una lista que contiene, por ejemplo V1 e I1 (pero quiero elegir de forma interactiva) en forma [[V1], [I1]], así:
[[3,3], [0.01, 0.01]]
El código que yo' estoy usando es la siguiente:
plot_data = [[]]*len(positions)
for row in reader:
for place in range(len(positions)):
value = float(row[positions[place]])
plot_data[place].append(value)
plot_data
es la lista que contiene todos los valores, mientras que positions
es una lista con los índices de las columnas que desea copiar desde el archivo .csv
. El problema es que si pruebo los comandos en el shell, parece que funciona, pero si ejecuto el script en lugar de agregar cada valor a la lista correcta, agrega todos los valores a todas las listas, así que obtengo 2 (o más)) listas idénticas.
impresionante! Justo lo que estaba buscando – Jay
¿Alguien tiene una buena explicación del guión bajo de magia negra? Creo que se está utilizando como [variable de usar y tirar] (http://stackoverflow.com/questions/5893163/what-is-the-purpose-of-the-single-underscore-variable-in-python) pero sigo sin usar No entiendo lo que eso significa. –
@AustinA ¿qué es exactamente lo que no entiendes de la respuesta seleccionada en la pregunta SO que enlazas? – joaquin