在python中获取一个新的随机数
也许这是一个新手问题,但我如何能在每次重复时得到一个新的随机数在python中获取一个新的随机数,python,loops,random,itertools,Python,Loops,Random,Itertools,也许这是一个新手问题,但我如何能在每次重复时得到一个新的随机数 realport=random.randint(端口开始,端口结束) liste=list(itertools.repeat(“{}:{}:{}:{}.”格式(主机名、realport、用户名、密码)、金额) 正如ShadowRanger评论的那样,itertools.repeat可能不是你想要的 “”可能是表达您想要的更好的方式: def getport(): return random.randint(portstart
realport=random.randint(端口开始,端口结束)
liste=list(itertools.repeat(“{}:{}:{}:{}.”格式(主机名、realport、用户名、密码)、金额)
正如ShadowRanger评论的那样,itertools.repeat
可能不是你想要的
“”可能是表达您想要的更好的方式:
def getport():
return random.randint(portstarts, portends)
liste = [
'{}:{}:{}:{}'.format(hostname, getport(), username, password)
for _ in range(amount)
]
如果您希望所有端口都是唯一的,那么您可以使用random.sample
来“采样而不替换”:
例如,请参见Python中无需替换的各种采样方法您所说的“重复”是什么意思?重复是指具有相同值的连续随机数,还是仅指任意两个相等的随机数,而不管它们在序列中的位置如何?目前有两个或更多相等的随机数,但是我需要列表中连续的随机数:)你有什么理由需要
itertools。重复?因为根据定义,itertools.repeat
总是返回同一个对象(不是副本,不是新创建的对象,实际上就是您作为第一个参数传递给repeat
)的同一个对象)。实际上我不需要itertools.repeat,但这是我想到的第一个解决方案,后来我尝试添加random,所以是的,我可能需要一个新的解决方案
liste = [
'{}:{}:{}:{}'.format(hostname, port, username, password)
for port in random.sample(range(portstarts, portends+1), amount)
]