首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让python使用更少的内存?

如何让python使用更少的内存?
EN

Stack Overflow用户
提问于 2018-09-06 06:15:28
回答 1查看 0关注 0票数 0

我正在制作一个程序,打印出所有字母和0-9号字母的所有排列。我想打印6,7,8或更多数字排列,但它在启动时表示内存错误。我使用python 3.7。它只适用于2位数的排列。

这是我的代码:

代码语言:javascript
复制
import itertools
from itertools import *
#Bruteforce 0.1
rlist = list()
n1 = 0
n2 = 1
num = int (input("length"))
mainlist = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9','0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O','p', 'P','q', 'Q','r', 'R','s', 'S','t', 'T','u','U','v','V','w','W','x','X','y','Y','z','Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O','p', 'P','q', 'Q','r', 'R','s', 'S','t', 'T','u','U','v','V','w','W','x','X','y','Y','z','Z']
perm = permutations((mainlist),num)
#Bugs incoming!
for i in list(perm):
    p = ''.join(str(e) for e in i)
    rlist.append(p)
    print(p)
#this is not going to go down the way you think
while True:
    if rlist[n1] == rlist[n2]:
        del rlist[n1]
        n2 = 1
    elif n1 == num ** 124:
        n1+1
        n2 = n1+1
    elif n1 != n2:
        n2+1
EN

回答 1

Stack Overflow用户

发布于 2018-09-06 15:57:25

所以我设法使代码更短,现在它使用8位数,使主列表更短但我似乎无法获得所有排列,例如我只得到zZ而不是Zz或zz。所以我想得到所有可能的排列。有什么帮助吗?大家好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100002570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档