Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Call python function from C#

Tags:

python

c#

I have a python function as below. I want to call the function in C# and pass the 2 list arguments? It returns a ranked list. Is this possible and how? thanks for your help

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
like image 784
Moh Najdawi Avatar asked Jan 21 '26 22:01

Moh Najdawi


1 Answers

I have a post on my blog about calling a Python COM server from C#. It should help in what you are trying to do. COM will make the interop easier, but it takes a bit of work to set it up. http://www.midniteblog.com/?p=64

like image 56
edtheprogrammerguy Avatar answered Jan 24 '26 14:01

edtheprogrammerguy



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!