import random
def gennum(count=1):
num1=[]
temp2={}
for i in range(1,50):
num1.append(i)
for j in range(count):
temp2[j]=random.sample(num1,7)
return temp2
print(gennum(3000))
当我尝试创建超过 3000 条记录时。速度真的很慢。python shell 变得迟钝,有时没有响应。
1.卡顿是因为代码还是创建的记录太多??
2.单个字典的最大大小是多少??
3.如果有人能推荐一本涵盖所有 python 主题的书,我将不胜感激,因为在我阅读了 2 本解释列表、dict 等的 python 书籍之后。我找不到解决上述问题的方法。
我是编程新手,我的工程不太好。感谢您的耐心等待!
请您参考如下方法:
实际上并不是字典的创建导致 shell 延迟并且没有响应,这是因为 print 语句,python IDLE(我假设)不支持打印那么大的内容。如果您不打印而是将其存储在这样的变量中:num = gennum(3000),检查一下,print(len(gennum)) 将输出 3000,立即完成。如果您真的想查看它,请尝试将其保存到文本文件中并从那里查看。
旁注:从控制台(终端,cmd)运行脚本将正确打印,没有任何问题,因为它们最多可以显示 30000 个字符,但在那之后,控制台将自动删除开头以将总字符数保持在限制以下.但基本上,这取决于您的系统。
