Не думаю, что мне позволено полностью решить эту проблему для вас, но я могу начать с этого.
first_line = data[0] # 'hsbc, 84564.24, boc, 46392.45, manulife, 34562.98, galaxy, 89321.23'
real_data = first_line.split(', ') # ['hsbc', '84564.24', 'boc', '46392.45', 'manulife', '34562.98', 'galaxy', '89321.23']
В нашем файле одна строка, поэтому мы берем первую строку сdata[0]
, затем разделяется на список с .split(', ')
.
stock_names = real_data[::2] # ['hsbc', 'boc', 'manulife', 'galaxy']
stock_values = real_data[1::2] # ['84564.24', '46392.45', '34562.98', '89321.23']
В первой строке каждый второй элемент real_data
начинается с 0-го.Первая строка получает каждый второй элемент real_data
, начиная с 1-го.Оба используют синтаксис объединения списка: list [start: end: step] Понимание обозначения среза
for name, value in zip(stock_names, stock_values):
print(name, value)
# perform calculations ect.
Все вместе:
infile = open("stocks.txt", 'r')
infile.close()
data = [line.rstrip() for line in infile]
first_line = data[0]
real_data = first_line.split(', ')
stock_names = real_data[::2]
stock_values = real_data[1::2]
for name, value in zip(stock_names, stock_values):
print("something")
# perform calculations
# Good luck :)
Примечание. Я переместился infile.close()
к началу, так как нет необходимости открывать файл все время.