Я пытаюсь написать очень простую программу с использованием кортежей. Это работает по большей части, но я не могу заставить его работать, обращаясь к отдельным элементам в кортежах. Я беру данные из файла, содержащего некоторую информацию, чтобы преобразовать его в кортеж и хранить данные в другом файле.index out of range python
Он работает, если я пишу все данные или только первый кортеж, но не в любом другом случае. Ниже приведен код
filename = "in.txt"
stock_market = []
for line in open(filename):
fields = line.split(",")
name = fields[0]
shares = int(fields[1])
stock = (name,shares)
portfolio.append(stock)
f = open("output.txt","w")
print >>f, portfolio[1]
f.close()
Показать фактическую отслеживающий, или по крайней мере сказать нам, какая линия ошибка включена. Мы не можем воспроизвести его самостоятельно без образца вашего файла данных. – geoffspear
Это ваш фактический код? 'stock_market' никогда не используется, а' портфолио' никогда не инициализируется. Кроме того, 'print >> f, портфолио [1]' равнозначно «записывать содержимое второго элемента« портфолио »в файл». Что происходит, когда «портфолио» имеет менее двух элементов? Помните, что список '[(a, b)]' имеет длину один. – Kevin
Почему вы открываете и закрываете 'output.txt' для каждой строки ввода? (Кроме того, вы намеренно усекаете вывод каждый раз, или вы хотели открыть файл с помощью режима '' a? '? – chepner