📜  Python - N 个随机元组列表

📅  最后修改于: 2022-05-13 01:54:50.376000             🧑  作者: Mango

Python - N 个随机元组列表

有时,在处理Python记录时,我们可能会遇到需要构建随机元组列表的问题。这可以在使用游戏和日常编程的许多领域中应用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用列表理解 + sample()
这是可以执行此任务的方式之一。在这种情况下,使用 sample() 生成随机数,当给定数字池时,它会提取随机数以形成对,这些对使用列表理解进行配对。

# Python3 code to demonstrate working of 
# N Random Tuples list
# Using list comprehension + sample()
import random
  
# initializing N
N = 5
  
# initializing Tuple element range 
R = 10
  
# N Random Tuples list
# Using list comprehension + sample()
res = [divmod(ele, R + 1) for ele in random.sample(range((R + 1) * (R + 1)), N)]
  
# printing result 
print("The N random tuples : " + str(res)) 
输出 :
The N random tuples : [(2, 5), (6, 10), (4, 7), (10, 2), (2, 2)]

方法 #2:使用product() + sample()
上述功能的组合可以用来解决这个问题。在此,我们使用 product() 执行在一个范围内生成数字的任务,并且 sample() 用于从中提取 N 个随机数。

# Python3 code to demonstrate working of 
# N Random Tuples list
# Using product() + sample()
import random
import itertools
  
# initializing N
N = 5
  
# initializing Tuple element range 
R = 10
  
# N Random Tuples list
# Using product() + sample()
res = random.sample(list(itertools.product(range(R + 1), repeat = 2)), N)
  
# printing result 
print("The N random tuples : " + str(res)) 
输出 :
The N random tuples : [(2, 5), (6, 10), (4, 7), (10, 2), (2, 2)]