簡體   English   中英

列表(數組)中某個范圍內的隨機樣本| Python 3.x

[英]Random sample within a certain range in a list (array) | Python 3.x

我有一個包含許多字符的列表,例如:

list = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q',
        'r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9',
        '0'," ",'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
        'Q','R','S','T','U','V','W','X','Y','Z']

我希望程序在列表的前26個(小寫字母)項目中隨機選擇8個字符。 我不會刪除或分隔此數組中的其他項,因為以后我需要它們來處理類似的事情。

我對編程有些陌生,我更喜歡一種簡單的解決方案,盡管我並沒有阻止您在此發布更復雜的內容供其他人查看。

提前致謝!

您可以切片該數組以對其進行采樣。

random.sample(seq[:26], k=8)

首先,您需要使用random模塊

import random

然后,我將使用以下解決方案:

your_list = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q',
        'r','s','t','u','v','w','x','y','z','1','2','3','4','5','6','7','8','9',
        '0'," ",'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
        'Q','R','S','T','U','V','W','X','Y','Z']

first_26_characters = your_list[0:26] # get items from 0 to 26 in new list
random.shuffle(first_26_characters) # shuffle new list
random_8_characters = first_26_characters[0:8] # get first 8 characters because after shuffle they are random

我希望這有幫助!

暫無
暫無

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

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