簡體   English   中英

合並,洗牌和獲取列表的前n個元素的更短方法

[英]shorter way to merge, shuffle and take first n elements of a list

我正在這樣做(請參閱代碼),並且我認為會有更短的方法

    fd_list = list(set(fd_list1 + fd_list2 + fd_list3))
    shuffle(fd_list)
    fd_list = fd_list[:10]

我想做的是:連接三個列表,將它們洗牌並取前10個元素。 Alternativ我可以合並三個列表,並隨機取10個元素? 我不知道 順便說一下,結果列表必須是唯一的。

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

結果可能看起來像這樣...

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

我認為“樣本”解決方案將是最好的。 非常感謝!

random.sample(set(fd_list1 + fd_list2 + fd_list3), 10)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM