2013-05-17 126 views
3

我有一个python函数,如下所示。我想在C#中调用函数并传递2个列表参数?它返回一个排名列表。这是可能的和如何?感谢您的帮助从C调用python函数#

function ranking_option() #accepts two arguments: 
    def Ranking_Options(costs, savings): 
    ##Lets us form a list of list from the supplied data 

    rearranged_list = sorted([[costs[i], savings[i]] for i in range(len(costs))], reverse=False) 
    rankedlist = [rearranged_list[0]] #We form a new list of the ranked data coordinates 

    #Examine the sorted list one by one 
    for pair in rearranged_list[1:]: 

     if pair[0]>=rankedlist[-1][0] and pair[1]>=rankedlist[-1][1]: 
      rankedlist.append(pair) 
      if rankedlist[-2][0]==rankedlist[-1][0] and rankedlist[-2][1]<=rankedlist[-1][1]: 
       rankedlist[-2],rankedlist[-1]=rankedlist[-1],rankedlist[-2] 
     else: 

      if pair[0]==rankedlist[-1][0] and pair[1]>=rankedlist[-1][1]: 
       rankedlist[-1]=pair 
      rankedlist.append(pair) 
return rankedlist 
+0

你应该看看IronPython http://ironpython.net/ –

+1

为什么不用C#重写它?这样你可以引入一些令人讨厌的类型,而不是一直依赖数组。 –

回答