在python中使用条件条件

时间:2012-02-07 22:58:15

标签: python conditional

我有一个python函数,它包含一个用于检查内容的if语句。

def my_func(a, b, c):
  if a < b and b < c:
    #do complicated stuff

我想修改函数,以便调用者可以通过传入布尔值来确定是否执行if语句检查。

def my_func(a, b, c, perform_check=True):

我试图找出如何使条件有时只被调用,或者跳过其他时间。

2 个答案:

答案 0 :(得分:3)

我想这就是你需要的东西:

if include_already_seen or not data[person].get(item, 0):

答案 1 :(得分:1)

def find_recommendations(person, using=pearson_correlation, data=critics, include_already_seen=True):
  totals  = {}
  sim_sum = {}

  for critic in critics:
    if critic != person:
      similarity_score = using(data, person, critic)
      print "the similarity score between %s and %s is %d" % (person, critic, similarity_score)
      if similarity_score <= 0: continue    # ignore similarity_scores below 0

      for item in data[critic]:

        if include_already_seen or (item not in data[person] or data[person][item] == 0):
          totals.setdefault(item,0)
          totals[item] += data[critic][item] * similarity_score

          sim_sum.setdefault(item,0)
          sim_sum[item] += similarity_score

  #create the normalized list
  rankings = [ (total/sim_sum[item],item) for item, total in totals.items()]

  rankings_sorted = sorted(rankings)
  rankings_sorted.reverse()
  return rankings_sorted