У меня есть две функции. Первая функция - def training_list() создает два списка - under_50k & over_50k. Я бы хотел, чтобы вторая функция def sums_lists() создала sum_list, который добавляет каждый индекс в оба списка, а затем добавляет каждый список для создания 1 list-sums_list. когда я запускаю код, он говорит, что over_50k не определен в функции sums_list. Можете ли вы сказать мне, как я определить это, я хочу перенести список over_50k under_50k & в новую функциюPython: Функции - перенос результатов из одной функции в другую
сообщение об ошибке
File "C:\Python34\Lib\assign1.py", line 208, in sums_list over_50k_sum_list = [sum(k) for k in zip(*over_50k)] NameError: name 'over_50k' is not defined
def training_list():
data_list = create_data(data_url)
training_list = data_list[:int(len(data_list) * 75/100)]
test_list = data_list[int(len(data_list) * 25/100):]
#return training_list
over_50k = []
over_50k_count = 0
under_50k = []
under_50k_count = 0
for row in training_list:
if row[-1].lstrip() == '<=50K':
under_50k.append(row[:-1])
under_50k_count +=1
elif row [-1].lstrip() == ">50K":
over_50k.append(row[:-1])
over_50k_count +=1
return under_50k,over_50k
def sums_list():
over_50k_sum_list = []
under_50k_sum_list = []
over_50k_sum_list = [sum(k) for k in zip(*over_50k)]
under_50k_sum_list = [sum(k) for k in zip(*under_50k)]
sums_list = over_50k_sum_list + under_50k_sum_list
print(sums_list)
return sums_list
def main():
def trainging_list():
over_50k = [[1, 2, 3, 4], [3, 4, 5, 6], [7, 8, 9, 8]]
under_50k = [[1, 4, 6, 8], [3, 7, 4, 5], [6, 9, 4, 5]]
print(over_50k)
return over_50k, under_50k
over_50k, under_50k = trainging_list()
def sum_columns(over_50k, under_50k):
print("a")
over_50k_sum_list = [sum(k) for k in zip(*over_50k)]
under_50k_sum_list = [sum(k) for k in zip(*under_50k)]
sums = over_50k_sum_list + under_50k_sum_list
print(sums)
return sums
main()
передать массивы в качестве параметров 'sums_list'. – akonsu
Привет, akonsu, из моего примера, что мне нужно делать? –
Это работает для меня – michaelpri