Questions tagged «shuffle»

改组是使集合中元素的顺序随机化的行为。


23
改组对象列表
我有一个对象列表,我想对其进行洗牌。我以为可以使用该random.shuffle方法,但是当列表中包含对象时,这似乎失败了。是否有一种用于改组对象的方法或解决此问题的另一种方法? import random class A: foo = "bar" a1 = a() a2 = a() b = [a1, a2] print(random.shuffle(b)) 这将失败。
770 python  list  random  shuffle 

9
随机播放DataFrame行
我有以下DataFrame: Col1 Col2 Col3 Type 0 1 2 3 1 1 4 5 6 1 ... 20 7 8 9 2 21 10 11 12 2 ... 45 13 14 15 3 46 16 17 18 3 ... 从csv文件读取DataFrame。所有具有Type1的行都在最上面,然后是具有Type2 的行,然后是具有Type3 的行,依此类推。 我想重新整理DataFrame行的顺序,以便将所有行Type混合在一起。可能的结果可能是: Col1 Col2 Col3 Type 0 7 8 9 …




16
更好地协调两个numpy数组的更好方法
我有两个不同形状的numpy数组,但是长度(引导尺寸)相同。我想对它们中的每一个进行混洗,以使相应的元素继续对应-即相对于它们的前导索引一致地对它们进行混洗。 该代码有效,并说明了我的目标: def shuffle_in_unison(a, b): assert len(a) == len(b) shuffled_a = numpy.empty(a.shape, dtype=a.dtype) shuffled_b = numpy.empty(b.shape, dtype=b.dtype) permutation = numpy.random.permutation(len(a)) for old_index, new_index in enumerate(permutation): shuffled_a[new_index] = a[old_index] shuffled_b[new_index] = b[old_index] return shuffled_a, shuffled_b 例如: >>> a = numpy.asarray([[1, 1], [2, 2], [3, 3]]) >>> b = numpy.asarray([1, 2, 3]) …


12
改组NSMutableArray的最佳方法是什么?
如果您有个NSMutableArray,您如何随机洗牌? (我对此有自己的答案,发布在下面,但是我是可可的新手,我想知道是否有更好的方法。) 更新:正如@Mukesh所指出的那样,从iOS 10+和m​​acOS 10.12+开始,有一种-[NSMutableArray shuffledArray]方法可以用于随机播放。有关详细信息,请参见https://developer.apple.com/documentation/foundation/nsarray/1640855-shuffledarray?language=objc。(但是请注意,这将创建一个新数组,而不是将元素改组到位。)

12
使用Random和OrderBy是一种很好的随机播放算法吗?
我在Coding Horror上阅读了一篇有关各种随机播放算法的文章。我已经看到有人在这样做的地方随机排列列表: var r = new Random(); var shuffled = ordered.OrderBy(x => r.Next()); 这是一个很好的随机播放算法吗?究竟如何运作?这是可以接受的方式吗?
164 c#  algorithm  shuffle 


12
使用JavaScript Array.sort()方法进行改组是否正确?
我正在用他的JavaScript代码帮助某人,而我的眼睛被一段看起来像这样的部分所吸引: function randOrd(){ return (Math.round(Math.random())-0.5); } coords.sort(randOrd); alert(coords); 我的第一个想法是:嘿,这可能行不通!但是后来我做了一些实验,发现它确实至少提供了很好的随机结果。 然后,我进行了一些网络搜索,几乎在顶部找到了一篇文章,该文章是最不经意地被复制的。看起来像一个非常受人尊敬的网站和作者。 但是我的直觉告诉我,这一定是错误的。特别是由于ECMA标准未指定排序算法。我认为不同的排序算法将导致不同的不均匀混洗。一些排序算法甚至可能无限循环... 但是你觉得呢? 还有另一个问题……我现在将如何去衡量这种混洗技术的结果有多随机? 更新:我做了一些测量,并将结果发布在下面作为答案之一。



6
如何随机播放std :: vector?
我正在寻找一种通用的,可重用的方法来std::vector在C ++中进行洗牌。这是我目前的操作方式,但是我认为它不是很有效,因为它需要一个中间数组,并且需要知道项目类型(在此示例中为DeckCard): srand(time(NULL)); cards_.clear(); while (temp.size() > 0) { int idx = rand() % temp.size(); DeckCard* card = temp[idx]; cards_.push_back(card); temp.erase(temp.begin() + idx); }
97 c++  shuffle  stdvector 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.