在python中从用户创建给定长度和序列的列表

2024-06-16 10:23:18 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个带有特定字母的特定列表,我如何首先要求用户输入他们想要的序列的随机数,然后输入他们想要的序列长度的随机数,然后用这些信息生成一个列表

例:

列表=['A'、'B'、'C'、'D']

用户需要的序列号:25

用户想要的序列长度:6

输出:

    sequence 1: BCADAC
    sequence 2: ABCDBA
    sequence 3: DCBADC
    .....
    sequence 25: CABADB

Tags: 用户信息列表字母序列序列号sequenceabcdba
1条回答
网友
1楼 · 发布于 2024-06-16 10:23:18

假设您不关心返回的序列或顺序,您可以使用itertools.product()random.sample()将特定数量返回给用户

import itertools
import random

data = ['A', 'B', 'C', 'D']

seq = int(input('How many sequences?'))
#25
length = int(input('Length of products?'))
#6

for idx, sequence in enumerate(random.sample(list(itertools.product(data, repeat=length)), seq)):
    print(f'sequence {idx + 1}: {"".join(sequence)}')

输出:

sequence 1: ACBCBB
sequence 2: DAABCC
sequence 3: DADABB
sequence 4: BAADAB
sequence 5: BDDBDA
sequence 6: ACDDBB
sequence 7: CDAAAD
sequence 8: DCDCAA
sequence 9: CCBCBC
....

相关问题 更多 >