Python 生成任意长度数字或字母组合 (不重复)
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() 函数。
原文地址: https://www.cveoy.top/t/topic/oTFE 著作权归作者所有。请勿转载和采集!