关于如何解决这个问题的提示和踩踏石头

时间:2014-04-03 05:30:41

标签: python

考虑将字符串作为键和整数作为值的字典 - 例如 {' a':'' 30,'':12,' n':10}

编写一个函数big_keys,它将这样的字典作为第一个参数,将一个整数作为第二个参数,并返回所有值大于第二个参数的键列表。您必须使用for循环迭代字典。

我知道我必须创建一个函数,但我不理解"字典作为第一个参数,一个整数作为第二个参数,并返回键的列表,所有键的值都大于第二个参数。 "

我没有表现出来,但我所拥有的只是

def big_keys:
    for keys in big_keys:

2 个答案:

答案 0 :(得分:0)

python中的函数如下所示:

def big_keys(argument1,argument2):
    mylist = []
    # do some stuff
    return mylist

所以如果你有一个字典名称d

d = {'a':24, 'e':30, 't':12, 'n':10}

和“截止”值为10你可以像这样调用函数

big_keys(d,10)

但是我会为你实现这个功能。

答案 1 :(得分:0)

此类任务的常用方法是创建一个空列表,迭代字典的所有值并检查条件。如果值满足条件,则将相应的键附加到列表中。例如:

a = {'a':24, 'e':30, 't':12, 'n':10}
x = 11

def big_keys(dictionary, value):
  big_keys_list = []
  for k, v in dictionary.iteritems(): #iterating the dict items
    if v > value: # checking the condition
      big_keys_list.append(k) #append to list if meets the rule
  return big_keys_list

print big_keys(a, x) # ['a', 'e', 't']

关于iteritems()list.append()的进一步阅读。 作为旁注,这也可以使用更先进的技术list comprehension在更少的行中完成:

def big_keys(dictionary, value):
  return [k for k, v in dictionary.iteritems() if v > value]