如何从列表中的python值中随机采样?

问题描述

我在python defauldict中有一个股票代号的列表,它们的值是它们的值,其扇区是键。我想从每个值中随机抽取一两个,然后将它们放在自己的列表中,然后做一些事情,然后再次随机抽样,并进行50或100次。

这可能吗?

这是字典的样本。

sector_dict = defaultdict(list,{'Technology': ['AAPL','ADBE','AMD','AMAT','FSLR','GPRO','IBM','MSFT','MU','QCOM','TXN','XLNX','CRM'],'Healthcare': ['ABT','GILD','MDT','BMY'],'Consumer Cyclical': ['AMZN','ANF','BABA','BBY','BZUN','CMG','EBAY','GM','HD','JD','LULU','MCD','NKE','TSLA','UA','GME'],'Energy': ['APA','HAL','PBR','SLB','CVX'],'Industrials': ['BA','CAT','DE','FDX','HON','UAL'],'Communication Services': ['BIDU','FB','GOOG','NFLX','SNAP','TWTR','ZM','CMCSA'],'Real Estate': ['BRX','SPG'],'Consumer Defensive': ['COST'],'Basic Materials': ['FCX','NEM','CLF'],'Financial Services': ['GS','HIG','LYG','MA','V','C','JPM','MS']})

替换可以是True。唯一的限制是,每个键中至少应选择一个标记。我该怎么做?

当我尝试时,当我想要获取的只是值列表(代码)时,便会得到一个列表列表。

这是我的尝试:

import random
random_port = []
for key,val in sector_dict.items():
    random_port.append(random.sample(val,1))
random_port

解决方法

尝试:

random_port = []
for value in sector_dict.values():
    random_port += random.sample(value,min(len(value),2))
,

在下面,我对您的代码进行了一些修改,以从每个类别中选择一或两只股票:

    //content-script.js
    
     function notifyExtension() {
      chrome.runtime.sendMessage({"url": window.loaction.href});
    }
    //background.js
    chrome.runtime.onMessage.addListener(notify);

    function notify(message) {
         variable = message.url
      });
    }