python - 如何从“0-9 AZ”按顺序“自动生成”字符串
问题描述
我正在尝试从 0-9 和 Az 自动生成字符串。
00001-99999 A0001-A9999 B0001-B9999 Z9999-AA999 AB001-ZZ999 AAA01-.....
并按顺序
解决方案
只需对函数进行递归调用。
list=[]
for i in range(10):
list.append(str(i))
for i in range(26):
list.append(chr(ord('a')+i))
def all(pre,n):
li=[]
if n==1:
for x in list:
for p in pre:
li.append(x+p)
return li
else:
for x in list:
for p in pre:
li.append(x+p)
return all(li,n-1)
print(all([''],2))
Recursor 可能会花费大量时间来处理大数字,因此您也可以让自己的数字系统递增。
class NumSys:
def __init__(self):
self.val=[0,0,0,0,0]
def next(self):
self.val[4]+=1
for i in range(5):
if self.val[4-i]>35:
if i==4:
return None
else:
self.val[4-i-1]+=1
self.val[4-i]-=35
def __str__(self):
stri=''
for i in range(5):
x=self.val[i]
if x<10:
stri+=str(x)
else:
stri+=chr(ord('a')+x-10)
return stri
n=NumSys()
for i in range(100):
print (str(n))
n.next()
推荐阅读
- asp.net - 在 .NET Framework Web 应用程序中生成大型 .csv 文件(100 万行以上)
- javascript - 映射通过 Redux 连接的产品但它们不显示?
- google-cast - 播放总是在 RemoteMediaClient.queueJumpToItem 结合自动播放之后开始
- pyspark - Pyspark 正在尝试将列转换为布尔值。为什么?
- python-3.x - isinstance for list 的 pyparsing 问题
- r - 在 WSL2 中使用 nvim-R 时如何查看 ggplot2 输出
- python - 用python读取带有utf-8字符的json文件
- reactjs - 在 useEffect 中更新时反应 useState 回调不是一个选项
- angular - 索引“无法读取属性 'toLowerCase' of null ”时出现角度错误
- python - 设置时间等于时钟函数的方法