listelerine ekleyerek Liste dizinleriyle ilgili olarak kızarım ve yanlış yaptığımı açıklayamıyorum.Öğeleri python
Listede bir liste oluşturmak istediğim bir kod parçam var; her biri, csv
dosyasından görüntülenen aynı devre parametresinin (voltaj, akım vb.) Değerlerini içeren Bu:
Sample, V1, I1, V2, I2
0, 3, 0.01, 3, 0.02
1, 3, 0.01, 3, 0.03
Ve böyle devam eder. İstediğim örneğin V1 ve I1 içeren bir liste oluşturmak için (ancak ben etkileşimli seçti istiyorum) şeklinde [[V1], [I1]] böylece,:
[[3,3], [0.01, 0.01]]
Ben kodu kullanıyorum şu: positions
Ben .csv
dosyadan kopyalamak istediğiniz sütun dizinleri içeren bir liste iken
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
, tüm değerleri içeren listedir. Sorun şu ki, kabukta komutları denediğimde işe yarayacak gibi görünüyor, ancak her değeri doğru alt listeye eklemek yerine komut dosyasını çalıştırırsam, tüm değerleri tüm listelere ekler, böylece 2 (veya daha fazla) elde ederim) aynı listeler. Eğer len(positions)
kere aynı listeyi tekrar vardır
plot_data = [[]] * len(positions)
:
Müthiş Farklı listeleri istiyorsanız
, bu şekilde yapabilirsiniz! Sadece ben ne aradım – Jay
Birisi alt çizgi kara büyü iyi bir açıklama var mı? [Throwaway değişkeni] olarak kullanıldığına inanıyorum (http://stackoverflow.com/questions/5893163/what-is-the-purpose-of-the-single-underscore-variable-in-python) ama hala Bunun ne anlama geldiğini tam olarak anlama. –
@AustinA Bağlantınızdaki SO sorusunda seçilen cevaptan tam olarak ne anlamıyorsunuz? – joaquin