Python:在列表中随机抽取一组无重复元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:在列表中随机抽取一组无重复元素相关的知识,希望对你有一定的参考价值。

参考技术A

需求:从列表中,随机抽取" 一组 "无重复元素,返回结果到一个新的列表中。

包:random
函数:random.sample(list, num)
参数说明:list是待抽取的列表,num是抽取的个数;返回值为一个新的列表。

使用如下:

无重复元素的组合算法/n个列表中取n个不同的数

方法1:无重复元素的组合算法

修改排列组合算法[Generate all combinations from multiple lists]

private static void generatePermutations(List<List<String>> lists, List<List<String>> result, int depth,
    List<String> current)

    if (depth >= lists.size())
        result.add(current);
        return;
   

    for (int i = 0; i < lists.get(depth).size(); i++)
        String str = lists.get(depth).get(i);
        //del dup inside
        if (!current.contains(str))
            List<String> current0 = new ArrayList<>(current);
            current0.add(str);
            generatePermutations(lists, result, depth + 1, current0);
       
   

//生成元素各不相同的长度为len(lists)的

以上是关于Python:在列表中随机抽取一组无重复元素的主要内容,如果未能解决你的问题,请参考以下文章

无重复元素的组合算法/n个列表中取n个不同的数

无重复元素的组合算法/n个列表中取n个不同的数

数据结构---无重复元素链表的实现

问题列表

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。

已知一序列无重复元素,对LCS通过LIS进行优化