相关疑难解决方法(0)

如何从Python中的列表中选择"x"个唯一数字?

我需要从列表中挑出"x"个非重复的随机数.例如:

all_data = [1, 2, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 14, 15, 15]
Run Code Online (Sandbox Code Playgroud)

我如何选择一个喜欢[2, 11, 15]和不喜欢的列表[3, 8, 8]

python random list

50
推荐指数
3
解决办法
3万
查看次数

从未知长度的序列中随机选择N个项目

我正在尝试编写一种算法,该算法可以随机地从序列中选择N个不同的项目,而不需要事先知道序列的大小,并且在不止一次迭代序列的情况下进行迭代是很昂贵的.例如,序列的元素可能是一个巨大文件的行.

我在N = 1时找到了一个解决方案(也就是说,当试图从一个巨大的序列中随机选择一个元素时):

import random
items = range(1, 10) # Imagine this is a huge sequence of unknown length
count = 1
selected = None
for item in items:
    if random.random() * count < 1:
        selected = item
    count += 1
Run Code Online (Sandbox Code Playgroud)

但是如何才能为其他N值(比如N = 3)实现同样的目的呢?

python random algorithm

44
推荐指数
4
解决办法
7万
查看次数

随机选择列表中的两个元素

有没有更好的方法从列表中选择两个不同的元素?

foo = ['1','a','3','f','ed']

elt1 = random.choice(foo)
elt2 = random.choice(foo)

while elt2 == elt1:
    elt2 = random.choice(foo)
Run Code Online (Sandbox Code Playgroud)

python random

2
推荐指数
1
解决办法
2582
查看次数

从Python集中选择一个项目

我正在寻找从一组中选择一个项目。不管是哪个项目,但是每次函数调用时我都希望它是相同的项目。

例如,如果我有设置:

my_set = set(["ABC","ABC inc", "ABC ltd"])
Run Code Online (Sandbox Code Playgroud)

然后,我想返回其中任何一个,但只要运行该函数,就返回相同的一个。[即我每次使用上述设置运行时,我总是会得到“ ABC”,或者总是得到“ ABC inc”。]如果我使用列表,我只会拿第一个项目,但是set本身没有第一个项目。

这与选择“随机”形成对比(例如,如何从Python集中选择2个随机项?]它将在每次运行时更改。

python set python-2.7

2
推荐指数
1
解决办法
9965
查看次数

标签 统计

python ×4

random ×3

algorithm ×1

list ×1

python-2.7 ×1

set ×1