Это простая проблема очень, но я не нашел простого способа ее решения. Рассмотрим следующие наборы целых чисел (это не настоящие Python set
, поскольку они содержат бесконечное количество членов):
set1 = (0, 3, 6, 9, ...) --> 0
set2 = (1, 4, 7, 10, ...) --> 2
set3 = (2, 5, 8, 11, ...) --> 4
Это: если я получаю случайное положительное целое число в качестве входных данных, мне нужно сопоставить те, которые принадлежат set1
, к целому числу 0
, те, что в set2
, к 2
, а те, что к set3
, к 4
.
Есть ли «простой» способ сделать это в Python?
Вместо этого такие наборы могут быть представлены в вычислениях, что делает эту задачу тривиальной. Являются ли наборы здесь хорошим представлением того, что вы ищете?
Что вы используете, списки, np.arrays...?
@DeveshKumarSingh Я пытался использовать оператор деления пола //
, чтобы решить эту проблему, но не мог понять, как этим воспользоваться. @Paritosh: я не использую настоящие наборы, как я указываю в вопросе. @yatu: нет, я получаю случайное целое число в качестве входных данных. Мне нужно сопоставить его с другим целым числом в соответствии с тем, к какому «набору» оно принадлежит.
def map_to_set(i):
return 2*(i%3)
что ты уже испробовал?