所以说我有4个列表,每个列表中有10个不同的选项,我想从四个列表的每一个中选择一个用户指定的次数。但没有重复的输出。这可能吗?我似乎无法写出任何不会重复输出的内容。Python:从多个列表中随机选择,无重复
-2
A
回答
2
让我们假设我们有这些4
名单:
>>> lists = [range(10*i, 10*(i+1)) for i in range(4)]
>>> lists
[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], [30, 31, 32, 33, 34, 35, 36, 37, 38, 39]]
首先,洗牌他们:
>>> for lst in lists: random.shuffle(lst)
>>> lists
[[6, 8, 2, 1, 3, 5, 9, 0, 7, 4], [17, 12, 16, 10, 14, 15, 18, 11, 13, 19], [20, 28, 23, 21, 27, 25, 24, 29, 26, 22], [35, 32, 38, 31, 39, 34, 30, 33, 36, 37]]
而且然后输出该值s的zip
:
>>> for items in zip(*lists):
print(items)
(6, 17, 20, 35)
(8, 12, 28, 32)
(2, 16, 23, 38)
(1, 10, 21, 31)
(3, 14, 27, 39)
(5, 15, 25, 34)
(9, 18, 24, 30)
(0, 11, 29, 33)
(7, 13, 26, 36)
(4, 19, 22, 37)
如果你只需要其中的规定量,只要使用islice
:
>>> from itertools import islice
>>> for items in islice(zip(*lists),5):
print(items)
(6, 17, 20, 35)
(8, 12, 28, 32)
(2, 16, 23, 38)
(1, 10, 21, 31)
(3, 14, 27, 39)
1
population = [1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1]
population = set(population)
samples = random.sample(population, 3)
0
像这样的东西应该工作:
a,b,c,d = initialize_lists()
output_picked_before = set()
n = number_of_experiments()
for i in range(n):
t = pick_random_combination_from_list(a,b,c,d)
while t in output_picked_before:
t = pick_random_combination_from_list(a,b,c,d)
print t
output_picked_before.add(t)
相关问题
- 1. Python列表随机选择
- 2. 随机选择从列表
- 3. 随机选择Python列表中的列表,取决于权重
- 4. 随机选择一个公式,并从列表中回答 - PYTHON
- 5. Python在Python中随机选择多个选择
- 6. 从Java列表中随机选择[]
- 7. 从数组列表中随机选择
- 8. 从下拉列表中随机选择?
- 9. 从数组列表中随机选择5个元素而不重复元素
- 10. 随机,非重复2D列表Python
- 11. 从一列中选择随机行但没有重复的值
- 12. 随机分区列表无重复
- 13. 从Python中的前一个选择中随机选择
- 14. Python |避免从列表中随机选择以前的值
- 15. 从Python列表中选择随机项目
- 16. 从列表中选择非随机对象Python
- 17. Python - 使用无重复词的随机数并从列表中选择备用词
- 18. 如何从列表框中选择不重复的随机项目
- 19. 在Python中选择一个随机列表元素
- 20. 查询来选择一个随机行无任何重复
- 21. C++选择多个不重复的随机项目
- 22. Ruby从选择列表中选择随机元素与optgroup
- 23. 随机选择并重复每个选择的具体时间
- 24. 选择随机行不重复
- 25. PHP - 不重复随机选择
- 26. 随机选择防止一些重复
- 27. 从多个表中选择多个列
- 28. 从列表中的随机列表没有重复
- 29. 从numpy阵列中随机选择
- 30. 从数据框中随机选择列
你为什么不能呢? Python内置了'set's。 – squiguy 2013-04-28 19:34:37
发布您编写但没有用的代码。 – 2013-04-28 19:34:42
一旦挑选物品,你可以从清单中删除物品吗? – alexn 2013-04-28 19:35:19