Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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值中随机采样?_Python_Random_Defaultdict - Fatal编程技术网

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

如何从列表中的python值中随机采样?,python,random,defaultdict,Python,Random,Defaultdict,我有一个列表,其中股票代码符号作为值,它们的扇区作为python中的键。我想从每个值中随机抽取一个或两个,并将它们放在它们自己的列表中,然后做一些事情,然后再次随机抽取,这样做50或100次 这可能吗 这是这本词典的样本 sector_dict = defaultdict(list, {'Technology': ['AAPL', 'ADBE', 'AMD', 'AMAT', 'FSLR', 'GPRO', 'IBM', 'MSFT', 'MU

我有一个列表,其中股票代码符号作为值,它们的扇区作为python中的键。我想从每个值中随机抽取一个或两个,并将它们放在它们自己的列表中,然后做一些事情,然后再次随机抽取,这样做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']})
替换可能是真的。唯一的限制是每个键至少要选择一个标记。我该怎么做

当我尝试时,我会得到一个列表,而我只想得到一个值列表

以下是我的尝试:

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


下面我稍微修改了您的代码,从每个类别中选择一到两只股票:

import random

random_list = []

for key, val in sector_dict.items():
    random_list.extend(random.sample(val, min(len(val), random.randint(1,2))))

print(random_list)

“可能吗”的答案几乎总是“是”——你在一台几乎是图灵机器的计算机上使用的是一种通用语言。您可能想问的问题“我该如何做”对于堆栈溢出来说太不集中。重复介绍教程,尤其是和。阅读随机文档。给我们你的编码尝试,很公平。如果这是您唯一的问题,那么解决方案就是扩展而不是追加。要么这样,要么在完成后将列表展平。使用+=而不是.appendPerfect。非常感谢。
import random

random_list = []

for key, val in sector_dict.items():
    random_list.extend(random.sample(val, min(len(val), random.randint(1,2))))

print(random_list)