Tôi phát điên với các chỉ mục danh sách và không thể giải thích những gì tôi đang làm sai.Bổ sung các mục vào danh sách các danh sách trong python
Tôi có đoạn mã mà tôi muốn tạo danh sách các danh sách, mỗi danh sách chứa các giá trị của cùng tham số mạch (điện áp, dòng hiện tại, v.v ..) mà tôi đang đọc từ tệp csv
trông giống như này:
Sample, V1, I1, V2, I2
0, 3, 0.01, 3, 0.02
1, 3, 0.01, 3, 0.03
Và cứ tiếp tục như vậy. Những gì tôi muốn là tạo ra một danh sách đó ví dụ chứa V1 và I1 (nhưng tôi muốn chọn một cách tương tác) theo hình thức [[V1], [I1]], vì vậy:
[[3,3], [0.01, 0.01]]
Mã mà tôi đang sử dụng là:
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
là danh sách có chứa tất cả các giá trị, trong khi positions
là một danh sách với các chỉ số của các cột mà tôi muốn sao chép từ các tập tin .csv
. Vấn đề là nếu tôi thử các lệnh trong trình bao, dường như hoạt động, nhưng nếu tôi chạy tập lệnh thay vì gắn thêm mỗi giá trị vào danh sách con thích hợp, nó sẽ nối tất cả các giá trị vào tất cả các danh sách, vì vậy tôi nhận được 2 (hoặc nhiều hơn) danh sách giống hệt nhau.
Awesome! Chỉ cần những gì tôi đang tìm kiếm – Jay
Có ai đó có một lời giải thích tốt về ma thuật đen gạch dưới? Tôi tin rằng nó đang được sử dụng như là một [biến throwaway] (http://stackoverflow.com/questions/5893163/what-is-the-purpose-of-the-single-underscore-variable-in-python) nhưng tôi vẫn không không hiểu điều đó có nghĩa là gì. –
@AustinA chính xác những gì bạn không hiểu từ câu trả lời được chọn trong câu hỏi SO bạn liên kết? – joaquin