我有一个目录,其中包含来自三个不同域的数千张图像
假设文件名是 xxx_A.png 和 yyy_B.png 和 zzz_C.png 每个域都有数千个
os.listdir()
将返回目录中所有图像名称的列表
然后我想根据一些百分比过滤这个列表
示例:我指定我想要从这数千张图像中,只有 100 张经过洗牌的图像,其中 30% 来自 domainA,30% 来自 domainB,40% 来自 domainC
所以简单地给定一个数字,我有这些百分比,然后我选择 x 个随机图像(肯定基于图像名称,因为它们已经指定),这将是新列表
例子:
输入:
['1_A.png', '2_A.png', '3_A.png', '4_A.png', '5_A.png', '6_A.png', '7_A.png', '8_A.png', '9_A.png', '10_A.png', '1_B.png', '2_B.png', '3_B.png', '4_B.png', '5_B.png', '6_B.png', '7_B.png', '8_B.png', '9_B.png', '10_B.png', '1_C.png', '2_C.png', '3_C.png', '4_C.png', '5_C.png', '6_C.png', '7_C.png', '8_C.png', '9_C.png', '10_C.png']
我想要 12 张图片,30% 来自域 A,30% 来自域 B,40% 来自域 C
输出:
['1_C.png', '10_C.png', '2_B.png', '4_A.png', '3_A.png', '9_C.png', '7_C.png', '6_A.png', '8_B.png', '10_B.png', '3_C.png', '5_C.png']
我怎样才能做到这一点?