<pre><code>def load_from_csv(filename):
with open(filename,'r') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='|')
WHAT_TO_RETURN = [] #an empty list
for row in reader:
# print(row) # don't do that
GET_RID_OF_SPACES = row.split() # this is now a list
WHAT_TO_RETURN.append(GET_RID_OF_SPACES)
return WHAT_TO_RETURN
# this is a list which contains one list for every row in your csv
some_rows_of_data = load_from_csv('data.csv')
def manhattan_distance(x,y):
return sum(abs(a-b) for a,b in zip(x,y))
my_function_result = manhattan_distance( some_rows_of_data[0],
some_rows_of_data[1] )
print(my_function_result)
</code></pre>
<p>像这样的方法应该更有效。<br/>
你不能<code>return</code>某个东西在使用时不存储。<br/>
在<code>load_from_csv</code>结尾有<code>return row</code>。你知道吗</p>
<p>但是,当您使用<code>load_from_csv</code>时,您只是在文件中直接运行它。您需要<strong>将返回值存储在变量中,以便以后使用。i、 例如,<code>store_it = load_from_csv("somefile.csv")</code>现在,<code>row</code>被<code>return</code>转换成<code>store_it</code>并保存在一个变量中。你知道吗</p>
<p>当然,您的<code>load_from_csv</code>函数还有其他问题,但最重要的是要知道使用<code>return</code>做什么,以及如何“捕获”返回的内容。你知道吗</p>
<p>祝你Python节快乐,新年快乐。你知道吗</p>