从python中的函数返回不同的数据类型

时间:2014-01-14 15:10:18

标签: python function sparse-matrix

我们如何从函数返回稀疏矩阵和数组数据。我的稀疏矩阵是

sparse_mat

< 540x5550类型稀疏矩阵''     使用COOrdinate格式>

的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 个答案:

答案 0 :(得分:3)

使用元组:

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

请参阅?我退回了3件物品。更重要的是,如果我知道元组的空间,那么我可以使用一个提取器捕获它们:

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

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

答案 1 :(得分:3)

您可以通过返回元组返回Python函数中的多个值:

return sparse_mat, session_id

调用者可以通过以下方式获取返回值:

m, id = your_function()

哦,如果有两种不同的数据类型,它没有任何区别。当然,您也可以返回两个相同类型的值。

答案 2 :(得分: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
>>>