написание словарной функции - PullRequest
0 голосов
/ 30 марта 2011

Мне нужно написать функцию, которая принимает такой словарь в качестве первого аргумента и целое число в качестве второго аргумента и возвращает список ключей, все значения которых больше, чем второй аргумент. Я подумываю построить его с использованием цикла for, чтобы было намного проще.

Ответы [ 2 ]

0 голосов
/ 30 марта 2011

Это полезно?

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>();
        }
    }
}
0 голосов
/ 30 марта 2011

какой язык вы используете? какой словарь вы используете?

Если Python, используйте следующее:

[ x for x, y in mydict.items() if y > 42 ]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...