问题描述
我在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
});
}