【发布时间】:2020-08-07 01:00:27
【问题描述】:
int_list = list(range(1000)) # list [0, 1, 2, 3, 4, ..., 999]
现在我想从这个列表中选择每个第 n 个元素。 假设 n 是有理数。这里:n = 7/3 = 2.333...
因此,新列表的大小应该是原始列表的 42.85% (1/n) 左右。 但我不希望随机选择元素。所选元素之间的间距应该相似,但不必总是完全相同。
结果可能会因您使用的算法而异,只要满足要求,算法就由您决定。但是为了回答评论,这里是一个结果可能看起来像的例子:
int_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
out_list = [0, 2, 4, 8, 10]
out_list 的大小是int_list 的 45.4545...%,不是 42.85%,但它是它所能得到的最接近的。
【问题讨论】:
-
该示例的预期结果是什么?
-
整数之间怎么会有非整数的差距?
-
我举了一个例子,@superb rain
-
缺少 6,所以不是每隔一个元素。
-
啊,错过了。可能比更多类似的差距更难生产。仍然......为什么要再举一个例子,而不是仅仅回答完美的第一个?