用从变量中随机选择的整数替换整数

Replacing integers with randomly selected integers from a variable

所以我有一个程序需要以固定格式生成一组随机数字,i.g 000-00-0-0000。我有一个名为 integers 的变量,它具有 0-9,我需要能够随机选择这些整数并以格式输入它们,无论如何都可以这样做吗? Here is the code for referencing.

一种方法是生成一个最多十位数字的 运行dom 数字 (9999999999),用零填充该数字,然后使用 re.sub 在您需要的地方引入连字符想要他们:

import random
import re

nums = str(random.randint(1,9999999999)).zfill(10)
nums = re.sub(r'(\d{3})(\d{2})(\d)(\d{4})', '\1-\2-\3-\4', nums)
print(nums)

此打印(当我 运行 它时):

099-27-4-9895

使用 randomstr.format:

import random

'{}{}{}-{}{}-{}-{}{}{}{}'.format(*(random.randint(0, 9) for _ in range(10)))

示例输出(每次执行都不同)

'377-38-3-2187'

或者,如果您已经有一组 ints:

ints = [0,1,2,3]
'{}{}{}-{}{}-{}-{}{}{}{}'.format(*(random.choice(ints) for _ in range(10)))

示例输出:

'221-03-3-2110'