我有兩個函數。第一個函數 - def training_list()創建兩個列表 - under_50k & over_50k。我想第二個函數def sums_lists()創建一個sum_list,它將兩個列表中的每個索引相加,然後附加每個列表以創建1個列表 - sums_list。當我運行代碼時,它說over_50k沒有在sums_list函數中定義。你能告訴我怎麼定義這個,我想繼續在under_50k & over_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 2014-11-22 13:13:39
嗨akonsu,從我的例子,我需要做什麼? – 2014-11-22 13:21:57
這適用於我 – michaelpri 2015-04-05 04:51:39