Visual Studio или Resharper для размещения директив использования

Две идеи (позвольте мне проиллюстрировать это отдельными параметрами и соотношениями для ясности в именах аргументов, если они упакованы в кортеж, вы можете сохранить «zip»):

a) Денормализовать веса для получения целочисленных отношений, затем поместить в список столько копий, сколько отношение и использовать random.choice.

def choice_with_ratios(options, ratios):
    tmp = sum([[v]*n for v, n in zip(options, ratios)], [])
    return random.choice(tmp)

b) Использовать нормализованные веса и начинать суммирование до тех пор, пока вы не достигнете случайное генерируемое равномерное значение

def choice_with_weights(options, weights):
    s = 0
    r = random.random()
    for v, w in zip(options, weights):
        s += w
        if s >= r: break
    return v

Кстати, если первое поле используется как ключ, вы должны иметь его в словаре, например:

d = {
  701: ((1, 0.2), (2, 0.3), (3, 0.5),
  702: ((1, 0.3), (2, 0.2), (3, 0.5)
}
119
задан Richard Everett 11 September 2012 в 13:56
поделиться

2 ответа

UPDATE - ReSharper 2016.1: This option is now moved to Code Editing → C# → Code Style → Add 'using' directive to the deepest scope

Have you tried the ReSharper option:

Languages → C# → Formatting Style → Namespace Imports → Add using directive to the deepest scope

I'm not sure whether R#'s code cleanup will reorder the existing ones for you though.

222
ответ дан 24 November 2019 в 01:36
поделиться

Я отредактировал свои стандартные шаблоны Visual Studio , чтобы поместить мои директивы using в пространство имен.

Для сортировки и удаления неиспользуемых директив я использую Power Команды для Visual Studio 2008 .

1
ответ дан 24 November 2019 в 01:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: