8
|
Esteban Araya · 技术社区 · 16 年前 |
![]() |
1
5
露比:
更新 :这里有一个稍微不同的方法: A=(0…100)。条目。按rand[0…5]排序 编辑: 在Ruby1.9中,您可以这样做:
|
![]() |
2
13
这将在范围内产生5个唯一值
|
![]() |
3
3
隐马尔可夫模型。。。(python)怎么样?
|
![]() |
4
2
我将放弃使用“随机”模块的最简单的解决方案,因为我认为这不是你真正想要的。以下是我认为您在python中要查找的内容:
要向您展示它是如何工作的:
|
![]() |
5
2
下面是另一个Ruby解决方案:
我认为,有了您的LINQ语句,distinct将在5个已被占用之后删除重复项,因此您不保证返回5个。如果我错了,有人可以纠正我。 |
![]() |
6
2
编辑:好的,只是为了好玩,一个更短更快的(仍然使用迭代器)。
是的,我知道,一行程序应该留给Perl爱好者,但我认为这个程序非常强大,不是吗? 此处显示旧消息: 天哪,这一切有多复杂!让我们做蟒蛇吧:
享受 编辑:正如评论员注意到的,这是问题代码的精确翻译。 为了避免我们在生成列表后删除重复项而导致数据太少的问题,您可以选择另一种方法:
|
![]() |
7
1
红宝石1.9:
|
![]() |
8
0
带数字python的python:
Voice!当然,您也可以用函数式编程的方式做类似的事情,但是……为什么? |
![]() |
9
0
|
![]() |
10
0
首先用python重写linq。那么你的解决方案是一条直线:)
如果你把上面所有的简单方法都放到一个名为linq.py的模块中,你就能给你的朋友留下深刻的印象。 (免责声明:当然,这不是 事实上 在python中重写linq。人们错误地认为LINQ只是一堆微不足道的扩展方法和一些新的语法。然而,Linq真正高级的部分是自动生成SQL,因此当查询数据库时,实现distinct()的是数据库,而不是客户端。) |
![]() |
11
0
下面是从您的解决方案到python的音译。 首先,生成随机数的生成器。这不是很像蟒蛇,但它与您的示例代码很匹配。
这是一个客户端循环,它收集一组5个不同的值。这又不是最简单的蟒蛇式实现。
不清楚为什么你要用一个随机数生成器——这是少数几个简单到生成器不能简化它的事情之一。 更像蟒蛇的版本可能是:
如果要求生成5个值并在这5个值中找到不同的值,那么
|
![]() |
12
0
也许这能满足你的需求,看起来更像是Linqish:
|
![]() |
13
0
这是另一个Python版本,更接近于C代码的结构。没有一个内置函数可以给出不同的结果,所以我添加了一个函数来实现这一点。
|
![]() |
14
-1
我真的看不懂你的LINQ,但我认为你是想得到5个随机数,最多100个,然后删除重复数。 这是一个解决方案:
但也许你实际上在寻找5个介于0和100之间的不同随机数。在这种情况下:
现在,这个可能违背了你的“不太多循环”的感觉,但是假设take和distinct只是对你隐藏循环。只需将方法添加到Enumerable以隐藏while循环就足够容易了。 |
![]() |
Imad · Linq扩展方法没有使用Object类的Equals 1 年前 |
![]() |
user8512043 · 根据每个元素中的数字对列表进行排序 2 年前 |
![]() |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Drago · Linq通过比较Id和具有Id的对象列表来查询获取列表 2 年前 |