Python 生成任意长度数字或字母组合 (不重复)

本文将介绍使用 Python 代码生成指定长度的数字或字母组合,例如 4 位数字或 2 位英文的所有组合,并确保结果不重复。

生成 4 位数字的所有组合,不重复

digits = '0123456789'
combinations = {}
for i in digits:
    for j in digits:
        for k in digits:
            for l in digits:
                combination = i + j + k + l
                if combination not in combinations:
                    combinations[combination] = True
print(combinations.keys())

生成 2 位英文的所有组合,不重复

import string

letters = string.ascii_lowercase
combinations = {}
for i in letters:
    for j in letters:
        combination = i + j
        if combination not in combinations:
            combinations[combination] = True
print(combinations.keys())

解释:

  • 以上代码使用嵌套循环遍历所有可能的组合。
  • 使用字典 combinations 来存储已经生成的组合,避免重复。
  • 通过 if combination not in combinations 判断当前组合是否已经存在,如果不存在则添加到字典中。
  • 最后打印字典的键 combinations.keys(),即所有生成的组合。

注意:

  • 此方法适用于生成较短长度的组合,如果需要生成更长的组合,则需要添加更多的嵌套循环,代码会变得比较复杂。
  • 对于更复杂的组合生成需求,建议使用更高级的算法,例如 itertools 库中的 permutations() 或 combinations() 函数。
Python 生成任意长度数字或字母组合 (不重复)

原文地址: https://www.cveoy.top/t/topic/oTFE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录