我需要编写一个函数,它将第一个参数作为字典,第二个参数作为整数,并返回所有值大于第二个参数的键列表。我正在考虑使用for循环来构建它更简单。
答案 0 :(得分:0)
如果使用Python,请使用以下命令:
[ x for x, y in mydict.items() if y > 42 ]
答案 1 :(得分:0)
这有用吗?
KeysOverX() - 您可以根据需要移植它,因为我们不知道您想要的语言:)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DictionaryQuestion
{
class Program
{
static void Main( string [] args ) {
// Define dictionary
Dictionary<int, string> dict = new Dictionary<int, string>();
dict.Add( 1, "lorum" );
dict.Add( 2, "ipsum" );
dict.Add( 3, "this" );
dict.Add( 4, "is" );
dict.Add( 5, "a" );
dict.Add( 6, "test" );
// Define
int startKey = 4;
var results = KeysOverX( dict, startKey );
foreach ( int k in results ) {
Console.WriteLine( k );
}
}
static IList<int> KeysOverX( Dictionary<int, string> dictionary, int lowestKey ) {
return (from item in dictionary
where item.Key > lowestKey
select item.Key).ToList<int>();
}
}
}