Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 合并、洗牌和获取列表前n个元素的较短方法_Python_List_Concatenation_Unique_Shuffle - Fatal编程技术网

Python 合并、洗牌和获取列表前n个元素的较短方法

Python 合并、洗牌和获取列表前n个元素的较短方法,python,list,concatenation,unique,shuffle,Python,List,Concatenation,Unique,Shuffle,我正在这样做(见代码),我认为会有一个更短的方法 fd_list = list(set(fd_list1 + fd_list2 + fd_list3)) shuffle(fd_list) fd_list = fd_list[:10] 我想做的是:连接三个列表,将它们洗牌,然后获取前10个元素。我可以合并三个列表,随机抽取10个元素?!大概我不知道怎么做。顺便说一下,结果列表必须是唯一的 编辑*:示例 list1=[1,2,3,6],list2=[],list3=[4,5

我正在这样做(见代码),我认为会有一个更短的方法

    fd_list = list(set(fd_list1 + fd_list2 + fd_list3))
    shuffle(fd_list)
    fd_list = fd_list[:10]
我想做的是:连接三个列表,将它们洗牌,然后获取前10个元素。我可以合并三个列表,随机抽取10个元素?!大概我不知道怎么做。顺便说一下,结果列表必须是唯一的

编辑*:示例
list1=[1,2,3,6],list2=[],list3=[4,5,6,6,7,8,8]

结果应该是这样的

result = [3, 4, 5, 1 ,8 ,2 ,7 ,6] 

我认为“样本”解决方案是最好的。非常感谢

如果它是随机的,就无法保证它是唯一的。你说的“唯一”是什么意思?而不是洗牌和[:10]尝试
sample
。击败我。请注意,结果不是随机顺序,而是“设置哈希顺序”。此外,根据三个列表的生成和/或使用方式,如果您首先设置它们,
random.sample(set1 | set2 | set3,10)
可能就足够了。
random.sample(set(fd_list1 + fd_list2 + fd_list3), 10)