Сначала вам нужно переформатировать свои данные в более удобный формат. Я добавлю несколько дополнительных шагов, чтобы было более понятно, как все это работает.
input_list = [] ### initializes the list you'll be using (otherwise you have no list to add to)
row_1 = [1,[2,3,4], 10]
row_2 = [2,[3,4], 20]
row_3 = [3,[4], 30]
input_list.append(row_1)
input_list.append(row_2)
input_list.append(row_3)
Это приведет все данные назначаются на input_list
как так,
input_list = [[1,[2,3,4], 10], [2,[3,4], 20], [3,[4], 30]]
, которые теперь могут быть использованы для выполнения итерации, чтобы получить ответы, которые вы ищете. Вы можете, конечно, пропустить определение каждой строки как своей собственной переменной, а затем добавить все к input_list
, просто определив input_list
со всеми вашими данными за один шаг. Но для того, чтобы читать и понимать все, что происходит, я использовал шаг за шагом подход выше. Теперь, создав функцию с input_list
в качестве параметра, вы можете создать два простых циклов (один в другой), чтобы делать то, что вам нужно,
def operation(input):
output = [] ### initializes your final output list variable
for row in input:
for number in row[1]:
column1 = row[0]
column2 = number
column3 = row[2]/len(row[1])
output.append([column1, column2, column3])
return output
А потом на самом деле создать вывод, что нужно, вызовите operation
функция input_list
в качестве параметра,
output_list = operation(input_list)
где output_list
является вновь определенным переменным, которая будет присвоена какой-либо в operation
функция возвращает (ваш выход).
Чтобы затем просмотреть список в удобном для чтения формате, запустите это также,
for row in output_list:
print row
Это должно дать вам то, что вы ищете!
Ваши данные не являются списком, что это на самом деле? csv со списком во 2-м столбце? –
это не csv. Я сделал некоторый процесс и сделаю этот список. и теперь мне нужно получить приведенный ниже список. – Wilson
Это '[1, [2, 3, 4], 10]' и т. Д.? –