2014-01-14 96 views
2

我們如何從函數返回一個稀疏矩陣和一個數組數據。我的稀疏矩陣是從python函數返回不同的數據類型

sparse_mat

< 540x5550類型 '' 的稀疏矩陣與座標9068個存儲的元素格式>

,另一個數據是SESSION_ID

array([['192.168.113.111_timesofindia.indiatimes.com_1', 'User'], 
    ['192.168.113.111_timesofindia.indiatimes.com_2', 'User'], 
     dtype='|S46') 

我想從一個函數返回這兩個數據。謝謝

回答

3

您可以通過返回一個元組從Python函數返回多個值:

return sparse_mat, session_id 

調用者可以通過類似得到返回值:

m, id = your_function() 

哦,沒有關係如果存在兩種不同的數據類型,則不會有任何區別。當然你也可以返回兩個相同類型的值。

3

使用一個元組:

def foo(x, y): 
    sum = x + y 
    return (x, y, sum) 

看到了嗎?我回來了3件物品。而更重要的是,如果我知道元組的airity,那麼我可以使用提取捕捉它們:

(m, n, total) = foo(4, 5) 

其中m分配4n分配5total分配9

+0

支架在'return'不是強制性:) – thefourtheye

2

實例

def return2(): 
    a = {1:1} 
    b = 'b' 
    return a,b 

def anotherReturn2(): 
    a = {1:1} 
    b = 'b' 
    return {'a' : a, 'b' : b} 

a_1, b_1 = return2() 
a_2 = return2()[0] 
b_2 = return2()[1] 
print a_1, b_1, a_2, b_2 

a_1, b_1 = anotherReturn2() 
a_2 = anotherReturn2()['a'] 
b_2 = anotherReturn2()['b'] 
print a_1, b_1, a_2, b_2 

>>> 
{1: 1} b {1: 1} b 
a b {1: 1} b 
>>> 
相關問題