两秒遍历500w字典keys()

两秒遍历500w字典keys()


  在500w条学生信息记录的字典中遍历查找dict.keys(),也不过两秒。用python不必太在意速度,最该关注的是,如何遴选最优的代码解决方案。

☆程序调试环境☆

  python 3.6.6 安卓版(手机)


知识点

  dict.keys()


技巧

   字典dict运用,要注意生成字典key相同,会被后面的信息覆盖key的值。


代码运行效果

在这里插入图片描述

在这里插入图片描述


代码

==My python code==

在这里插入图片描述

百万学生信息记录生成代码
#!/sur/bin/nve python
# coding: utf-8

import json, random, time, pickle

#==json data==
first_names = '["\u5c45", "\u9ec4", "\u6e38", "\u5145", "\u535e", "\u5bb6", "\u9a6c", "\u4f0a", "\u5f90", "\u58e4", "\u53e4", "\u516c\u51b6", "\u51e4", "\u6c99", "\u73ed", "\u5e38", "\u6a0a", "\u79b9", "\u76d6", "\u5b8b", "\u949f", "\u7b2a", "\u7f11", "\u7f2a", "\u6b65", "\u677e", "\u65b9", "\u6d2a", "\u738b", "\u502a", "\u9879", "\u5bb9", "\u7fdf", "\u5411", "\u82cd", "\u5ed6", "\u8d3e", "\u8a79", "\u96cd", "\u8a3e", "\u5f52\u6d77", "\u683e", "\u848b", "\u8c37", "\u84df", "\u987e", "\u90b9", "\u77f3", "\u4e25", "\u664b", "\u8fb9", "\u67f3", "\u827e", "\u7fbf", "\u9f99", "\u77bf", "\u516c", "\u5218", "\u90ed", "\u8bf8\u845b", "\u5f18", "\u865e", "\u4e0a\u5b98", "\u8499", "\u536b", "\u5bbf", "\u72c4", "\u7518", "\u97f6", "\u8303", "\u9b31", "\u5357\u5bab", "\u6851", "\u6c6a", "\u66f9", "\u4e1c\u95e8", "\u79cb", "\u90a2", "\u6bcb", "\u519c", "\u9004", "\u516c\u5b59", "\u90b0", "\u6797", "\u4ef0", "\u5b97", "\u5deb", "\u83ab", "\u5a04", "\u5bb0", "\u7f57", "\u4f58", "\u989c", "\u5deb\u9a6c", "\u9697", "\u5bff", "\u6d82", "\u95eb", "\u5bab", "\u6f58", "\u7504", "\u53f6", "\u5085", "\u9a77", "\u5bb0\u7236", "\u7ea2", "\u5b50\u8f66", "\u7231", "\u5c24", "\u4ea2", "\u65f6", "\u6885", "\u6731", "\u989b\u5b59", "\u5e78", "\u5e73", "\u8346", "\u8881", "\u4ec7", "\u8c2d", "\u6d66", "\u5173", "\u6b66", "\u9646", "\u9146", "\u7c4d", "\u7ba1", "\u96d5", "\u5bc7", "\u9c81", "\u5ebe", "\u7c73", "\u62d3\u8dcb", "\u8a00", "\u90ac", "\u59ec", "\u623f", "\u5b93", "\u4e1c\u65b9", "\u95fb", "\u590f\u4faf", "\u4e54", "\u8398", "\u84ec", "\u53f8\u5bc7", "\u8340", "\u5b54", "\u6853", "\u81e7", "\u5353", "\u9093", "\u4efb", "\u6000", "\u5c09\u8fdf", "\u8f69\u8f95", "\u803f", "\u5e9e", "\u53f2", "\u9773", "\u4ef2", "\u5b81", "\u5e2d", "\u6cd5", "\u6ed5", "\u4f74", "\u6bd5", "\u6881", "\u8ba1", "\u8f66", "\u5f20", "\u53cc", "\u51cc", "\u5e74", "\u95f5", "\u5bcc", "\u8212", "\u71d5", "\u7a46", "\u66f2", "\u5e84", "\u8c37\u6881", "\u80e1", "\u522b", "\u5e7f", "\u7984", "\u878d", "\u8d39", "\u9c8d", "\u8339", "\u5b59", "\u5e05", "\u5e72", "\u5305", "\u9619", "\u76f8", "\u90c1", "\u8fde", "\u8d32", "\u4f59", "\u8d8a", "\u76ca", "\u4e4c", "\u8bb8", "\u6c72", "\u53f8", "\u6c60", "\u660c", "\u6fee\u9633", "\u94ad", "\u4fde", "\u5f6d", "\u8305", "\u4e60", "\u718a", "\u676d", "\u8bf8", "\u7f8a", "\u54b8", "\u5c60", "\u7fc1", "\u5b5f", "\u5cb3", "\u52b3", "\u7eaa", "\u88d8", "\u6ee1", "\u5fae\u751f", "\u4f5f", "\u66fe", "\u9ad8", "\u4ef2\u5b59", "\u8584", "\u6fb9\u53f0", "\u5c39", "\u7a0b", "\u52fe", "\u5939\u8c37", "\u6bb3", "\u6c5f", "\u538d", "\u897f", "\u675f", "\u90dd", "\u845b", "\u67cf", "\u84af", "\u6b27", "\u84dd", "\u7ecf", "\u9c9c\u4e8e", "\u5180", "\u56fd", "\u9c7c", "\u537b", "\u94a6", "\u517b", "\u7b80", "\u4f55", "\u5c48", "\u67f4", "\u4e01", "\u9686", "\u5201", "\u8c08", "\u962e", "\u5c1a", "\u5c01", "\u9a86", "\u5355", "\u621a", "\u6b27\u9633", "\u6155", "\u6248", "\u5df4", "\u90b4", "\u74a9", "\u9648", "\u535c", "\u851a", "\u5e08", "\u891a", "\u4e0c\u5b98", "\u66b4", "\u901a", "\u5b97\u653f", "\u961a", "\u5415", "\u59da", "\u4e5c", "\u88f4", "\u6208", "\u675c", "\u97a0", "\u4faf", "\u4e07", "\u674e", "\u614e", "\u4ee4\u72d0", "\u7afa", "\u5b87\u6587", "\u51af", "\u7aa6", "\u5de6\u4e18", "\u8427", "\u90fd", "\u82cf", "\u6e5b", "\u725b", "\u5b89", "\u80fd", "\u5835", "\u5189", "\u5389", "\u987b", "\u534e", "\u90cf", "\u5ba6", "\u4e95", "\u6c34", "\u6234", "\u60e0", "\u515a", "\u7ae0", "\u5de9", "\u595a", "\u7434", "\u516c\u7f8a", "\u6641", "\u695a", "\u6f06", "\u548c", "\u7941", "\u9ebb", "\u5434", "\u8def", "\u53f8\u9a6c", "\u859b", "\u6bb5", "\u8f9b", "\u7126", "\u7a7a", "\u7b26", "\u8d75", "\u6587", "\u8521", "\u853a", "\u547c\u5ef6", "\u6bdb", "\u4f0d", "\u8d21", "\u8d3a", "\u7533", "\u97e6", "\u90e6", "\u76db", "\u8d6b\u8fde", "\u51b5", "\u53f8\u5f92", "\u95fb\u4eba", "\u9633", "\u6768", "\u5d47", "\u79e6", "\u5468", "\u5168", "\u67ef", "\u8861", "\u4ec9", "\u897f\u95e8", "\u970d", "\u5321", "\u5ec9", "\u5de6", "\u90b5", "\u5f3a", "\u5546\u725f", "\u5914", "\u53f8\u7a7a", "\u7267", "\u5d14", "\u84b2", "\u6613", "\u97e9", "\u5f13", "\u55bb", "\u9634", "\u59dc", "\u4e30", "\u7533\u5c60", "\u8363", "\u7530", "\u7cdc", "\u8463", "\u95fe\u4e18", "\u7aef\u6728", "\u592a\u53d4", "\u8d56", "\u6c88", "\u76ae", "\u80e5", "\u4f2f", "\u6709", "\u66a8", "\u7d22", "\u4e07\u4fdf", "\u8d1d", "\u5357\u95e8", "\u4ece", "\u50a8", "\u6c83", "\u957f\u5b59", "\u7f8a\u820c", "\u652f", "\u795d", "\u58a8", "\u4e50", "\u6881\u4e18", "\u6276", "\u6c5d", "\u5409", "\u90b1", "\u9676", "\u5371", "\u767e\u91cc", "\u94b1", "\u8c2f", "\u5c71", "\u9976", "\u82b1", "\u6c64", "\u65bc", "\u5143", "\u6210", "\u902f", "\u9f50", "\u4e8e", "\u8c22", "\u6155\u5bb9", "\u5510", "\u6743", "\u9ece", "\u661d", "\u5de2", "\u9122", "\u90ce", "\u90dc", "\u51b7", "\u7ae5", "\u5eb7", "\u7956", "\u82ae", "\u6556", "\u94ae", "\u9102", "\u67e5", "\u6df3\u4e8e", "\u7763", "\u4f0f", "\u5355\u4e8e", "\u90d7", "\u5c91", "\u4e1c\u90ed", "\u5b63", "\u82d7", "\u590f", "\u6bb7", "\u4e91", "\u4e50\u6b63", "\u90c8", "\u8042", "\u660e", "\u620e", "\u9f9a", "\u666f", "\u540e", "\u5362", "\u96f7", "\u65bd", "\u5e94", "\u798f", "\u91d1", "\u90d1", "\u8d4f", "\u9b4f", "\u90a3", "\u7687\u752b", "\u767d", "\u664f", "\u6ed1", "\u89e3", "\u5ba3", "\u516c\u826f", "\u54c8", "\u5370", "\u7b2c\u4e94", "\u5229", "\u4e1c", "\u6842", "\u949f\u79bb", "\u6fee", "\u6e29", "\u7ec8", "\u960e"]'
s_boy = '"\u5168\u4e00\u6d69\u56fa\u4e4b\u4eae\u653f\u8c26\u4ea8\u5947\u8f6e\u7ff0\u6717\u4f2f\u5b8f\u8d35\u56fd\u9e4f\u6cfd\u80dc\u9f99\u5143\u5168\u5b66\u7965\u624d\u53d1\u6b66\u90a6\u671b\u5c27\u73fa\u7136\u6db5\u4ea6\u4e1e\u535a\u6dfc\u742a\u7fa4\u9a70\u7167\u4f20\u8bd7\u81f3\u5145\u9756\u4f1a\u529b\u5927\u5c71\u4e4b\u4e2d\u65b9\u5e8f\u5b9c\u4e16\u6893\u7af9\u821c\u4e1e\u6021\u9a81\u4fca\u6ca3\u9a85\u6b4c\u4f1f\u521a\u4fca\u5cf0\u5f3a\u519b\u5e73\u4fdd\u4e1c\u4fe1\u5b50\u6587\u8f89\u5149\u5929\u8fbe\u4e2d\u601d\u7fa4\u8302\u8fdb\u6797\u6709\u575a\u548c\u5f6a\u660e\u6c38\u5fd7\u4e49\u5065\u4e16\u5e7f\u5174\u826f\u539a\u5e86\u6d77\u6ce2\u7ecd\u529f\u5c71\u4ec1\u677e\u5584\u78ca\u6c11\u53cb\u88d5\u6811\u708e\u6c5f\u680b\u7ef4\u5fb7\u884c\u542f\u5143\u5168\u514b\u4f26\u6668\u8fb0\u58eb\u4ee5\u56fa\u4e4b\u8f6e\u826f\u6d77\u6717\u4f2f\u8a00\u82e5\u9e23\u670b\u658c\u6881\u7199\u8fd0\u963f\u8fce\u4e7e\u900a\u5d82\u9ece\u7a0b\u767d\u5de6\u5b9c\u4e16\u5d99\u5d1e\u9646\u79d1\u8fea\u5f18\u6709\u90b5\u51ef\u7a33\u5cb7\u821c\u4e1e\u9646\u8fbe\u4e30\u5d07\u777f\u5cfb\u5d0e\u5ced\u5cf0\u5d43\u79e6\u51e1\u4e2d\u5f6a\u5148\u6c11\u53cb\u88d5\u7fd4\u65ed\u6cb3\u4eae\u653f\u8c26\u4ea8\u5947\u53d1\u6b66\u65b0\u6811\u708e\u5229\u5f6c\u5bcc\u987a\u4fe1\u5b50\u6770\u6d9b\u6709\u4e2d\u6e05\u98de\u575a\u519b\u6cf0\u5e73\u548c\u656c\u632f\u4f1a\u601d\u7545\u4e0e\u5723\u94ed\u6e93\u6ed4\u6eaa\u5de9\u5f71\u9510\u5c55\u4ec1\u4e16\u4e00"'
s_girl = '"\u5bb9\u5a34\u5de7\u79c0\u5a1f\u82f1\u534e\u7f8e\u9edb\u82b8\u5a1c\u9759\u73e0\u5a77\u96c5\u6dd1\u8587\u829d\u7389\u5a05\u73b2\u82ac\u82b3\u68a6\u5f69\u4f73\u598d\u743c\u827a\u67d4\u537f\u806a\u6f9c\u7eaf\u6bd3\u60a6\u5a9b\u51b0\u831c\u9896\u96ea\u8317\u7fbd\u5e0c\u5b81\u6b23\u6ee2\u99a5\u74a7\u7490\u5f71\u8354\u7b60\u53ef\u5170\u51e4\u6d01\u6885\u7433\u7d20\u4e91\u83b2\u771f\u73af\u723d\u83ca\u971e\u9999\u59b9\u60e0\u5029\u9752\u6708\u840d\u7ea2\u83ba\u5609\u56ed\u52e4\u73cd\u9732\u7476\u7231\u71d5\u8d1e\u8389\u6842\u5a23\u7fe0\u53f6\u7426\u6625\u662d\u79cb\u745e\u51e1\u9526\u742c\u73ca\u8273\u838e\u7af9\u972d\u747e\u548f\u6021\u5a75\u59e3\u5a49\u96c1\u84d3\u98d8\u80b2\u7ea8\u4eea\u84c9\u7709\u541b\u7434\u8377\u4e39\u854a\u5a25\u83c1\u5a55\u7430\u97f5\u878d\u99a8\u7457\u5b9c\u51dd\u6653\u6b22\u9704\u67ab\u6167\u8363\u5c9a\u6676\u82d1\u83f2\u5bd2\u4f0a\u4e00\u4e00"'
nation = '["\u6c49", "\u8499\u53e4", "\u56de", "\u85cf", "\u7ef4\u543e\u5c14", "\u82d7", "\u5f5d", "\u58ee", "\u5e03\u4f9d", "\u671d\u9c9c", "\u6ee1", "\u4f97", "\u7476", "\u767d", "\u571f\u5bb6", "\u54c8\u5c3c", "\u54c8\u8428\u514b", "\u50a3", "\u9ece", "\u50f3\u50f3", "\u4f64", "\u7572", "\u9ad8\u5c71", "\u62c9\u795c", "\u6c34", "\u4e1c\u4e61", "\u7eb3\u897f", "\u666f\u9887", "\u67ef\u5c14\u514b\u5b5c", "\u571f", "\u8fbe\u65a1\u5c14", "\u4eeb\u4f6c", "\u7f8c", "\u5e03\u6717", "\u6492\u62c9", "\u6bdb\u5357", "\u4ee1\u4f6c", "\u9521\u4f2f", "\u963f\u660c", "\u666e\u7c73", "\u5854\u5409\u514b", "\u6012", "\u4e4c\u5b5c\u522b\u514b", "\u4fc4\u7f57\u65af", "\u9102\u6e29\u514b", "\u5fb7\u6602", "\u4fdd\u5b89", "\u88d5\u56fa", "\u4eac", "\u5854\u5854\u5c14", "\u72ec\u9f99", "\u9102\u4f26\u6625", "\u8d6b\u54f2", "\u95e8\u5df4", "\u73de\u5df4", "\u57fa\u8bfa"]'
phonenumber_section = [134, 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 178, 182, 183, 184, 187, 188, 198, 130, 131, 132, 155, 156, 185, 186, 145, 146, 166, 175, 176, 133, 153, 177, 180, 181, 189, 173, 199, 191]
faculty = '["\u54f2\u5b66\uff1a\u535a\u96c5\u5b66\u9662", "\u6cd5\u5b66\uff1a\u535a\u96c5\u5b66\u9662", "\u6c49\u8bed\u8a00\u6587\u5b66\uff1a\u535a\u96c5\u5b66\u9662", "\u5386\u53f2\u5b66\uff1a\u535a\u96c5\u5b66\u9662", "\u6c49\u8bed\u56fd\u9645\u6559\u80b2\uff1a\u56fd\u9645\u5b66\u9662", "\u82f1\u8bed\uff1a\u5916\u56fd\u8bed\u5b66\u9662", "\u5fb7\u8bed\uff1a\u5916\u56fd\u8bed\u5b66\u9662", "\u65e5\u8bed\uff1a\u5916\u56fd\u8bed\u5b66\u9662", "\u6cd5\u5b66\uff1a\u6cd5\u5b66\u9662", "\u77e5\u8bc6\u4ea7\u6743\uff1a\u6cd5\u5b66\u9662", "\u7ecf\u6d4e\u5b66\uff08\u7ecf\u6d4e\u8d38\u6613\u65b9\u5411\uff09\uff1a\u516c\u5171\u7ba1\u7406\u5b66\u9662", "\u7ecf\u6d4e\u5b66\uff08\u516c\u5171\u7ecf\u6d4e\u65b9\u5411\uff09\uff1a\u516c\u5171\u7ba1\u7406\u5b66\u9662", "\u56fd\u9645\u7ecf\u6d4e\u4e0e\u8d38\u6613\uff08\u5546\u52a1\u7ba1\u7406\u65b9\u5411\uff09\uff1a\u516c\u5171\u7ba1\u7406\u5b66\u9662", "\u56fd\u9645\u7ecf\u6d4e\u4e0e\u8d38\u6613\uff1a\u516c\u5171\u7ba1\u7406\u5b66\u9662", "\u80fd\u6e90\u7ecf\u6d4e\uff1a\u7ecf\u6d4e\u4e0e\u5de5\u5546\u7ba1\u7406\u5b66\u9662", "\u91d1\u878d\u5b66\uff1a\u7ecf\u6d4e\u4e0e\u5de5\u5546\u7ba1\u7406\u5b66\u9662", "\u91d1\u878d\u6570\u5b66\uff1a\u6570\u5b66\u4e0e\u7edf\u8ba1\u5b66\u9662", "\u6570\u5b66\u4e0e\u7edf\u8ba1\u6570\u5b66\uff1a\u6570\u5b66\u4e0e\u7edf\u8ba1\u5b66\u9662", "\u4fe1\u606f\u4e0e\u8ba1\u7b97\u79d1\u5b66\uff1a\u6570\u5b66\u4e0e\u7edf\u8ba1\u5b66\u9662", "\u7edf\u8ba1\u5b66\uff1a\u6570\u5b66\u4e0e\u7edf\u8ba1\u5b66\u9662", "\u4f53\u80b2\u6559\u80b2\uff1a\u4f53\u80b2\u5b66\u9662", "\u65b0\u95fb\u5b66\uff1a\u65b0\u95fb\u5b66\u9662", "\u5e7f\u64ad\u7535\u89c6\u5b66\uff1a\u65b0\u95fb\u5b66\u9662", "\u7269\u7406\u5b66\uff1a\u7269\u7406\u5b66\u9662", "\u5e94\u7528\u7269\u7406\u5b66\uff1a\u7269\u7406\u5b66\u9662", "\u5e94\u7528\u5316\u5b66\uff1a\u5316\u5b66\u5316\u5de5\u5b66\u9662", "\u751f\u7269\u79d1\u5b66\uff1a\u751f\u547d\u79d1\u5b66\u5b66\u9662", "\u5de5\u7a0b\u529b\u5b66\uff1a\u822a\u7a7a\u822a\u5929\u5b66\u9662", "\u673a\u68b0\u8bbe\u8ba1\u5236\u9020\u53ca\u5176\u81ea\u52a8\u5316(\u4e2d\u5916\u5408\u4f5c\u9879\u76ee)\uff1a\u91cd\u5e86\u5927\u5b66-\u8f9b\u8f9b\u90a3\u63d0\u5927\u5b66\u8054\u5408\u5b66\u9662", "\u673a\u68b0\u8bbe\u8ba1\u5236\u9020\u53ca\u5176\u81ea\u52a8\u5316(\u5b9e\u9a8c\u73ed)\uff1a\u673a\u68b0\u5de5\u7a0b\u5b66\u9662", "\u6750\u6599\u6210\u578b\u53ca\u63a7\u5236\u5de5\u7a0b\uff1a\u6750\u6599\u79d1\u5b66\u4e0e\u5de5\u7a0b\u5b66\u9662", "\u673a\u68b0\u7535\u5b50\u5de5\u7a0b\uff1a\u673a\u68b0\u5de5\u7a0b\u5b66\u9662", "\u5de5\u4e1a\u8bbe\u8ba1\uff1a\u6c7d\u8f66\u5de5\u7a0b\u5b66\u9662", "\u8f66\u8f86\u5de5\u7a0b\uff1a\u6c7d\u8f66\u5de5\u7a0b\u5b66\u9662", "\u6d4b\u63a7\u6280\u672f\u4e0e\u4eea\u5668\uff1a\u5149\u7535\u5de5\u7a0b\u5b66\u9662"]'
	
#==main code==
sf = json.loads(first_names)
slb = json.loads(s_boy)
slg = json.loads(s_girl)
nations = json.loads(nation)
nation_weights = [91.6476, 0.4488, 0.7943, 0.4713, 0.7555, 0.7072, 0.6538, 1.27, 0.2153, 0.1374, 0.7794, 0.2161, 0.2098, 0.1451, 0.6268, 0.1246, 0.1097, 0.0946, 0.1098, 0.0527, 0.0322, 0.0532, 0.0003, 0.0365, 0.0309, 0.0466, 0.0245, 0.0111, 0.014, 0.0217, 0.0099, 0.0162, 0.0232, 0.009, 0.0098, 0.0076, 0.0413, 0.0143, 0.003, 0.0032, 0.0038, 0.0028, 0.0008, 0.0012, 0.0023, 0.0015, 0.0015, 0.0011, 0.0021, 0.0003, 0.0005, 0.0006, 0.0004, 0.0008, 0.0003, 0.0017]
faculty = json.loads(faculty)
ph = phonenumber_section
#从文件读取省份数据
native = json.load(open("provinces.dat"))


def person():
    """模拟生成姓名"""
    cho = random.choice
    #随机调用男名or女名字符串
    if cho((0, 1)):
        sl = slb
        sex = "男"
    else:
        sl = slg
        sex = "女"
    #随机生成二or一字名
    if cho((0, 1)): return sex+cho(sf)+cho(sl)+cho(sl)
    else: return sex+cho(sf)+cho(sl)
    


def tel():
    '''模拟生成手机号码'''
    n1 = random.choice(ph)
    n2 = "".join(str(random.choice(range(10))) for i in range(8))
    return str(n1)+n2



def adress(d):
    '''模拟籍贯'''
    def gets(d):
        return random.choice(list(d.keys()))
    ad, ad1, ad3 = "", "", ""
    ad = gets(d)
    if d.get(ad)!=None:
        ad2 = gets(d[ad])
    if d[ad].get(ad2)!=None:
        ad3 = gets(d[ad])
    return ad+ad2+ad3


def create_student():
    #生成学生信息字典记录
    
    key = str(number), name[1:]
    info = {}
    info_key = "性别", "民族", "电话", "籍贯", "专业/学院"
    info_value = name[0], nation[0]+"族", tel(), adress(native), profession
    #生成学生info字典记录
    for x,y in zip(info_key, info_value):
        info[x] = y
    st[key] = info
    


def show_student(d, i):
    '''打印学生信息'''
    
    name = i[1]
    student_number = i[0]
    info = d.get(i)
    print(" "*4+"姓名:%s"%name)
    print(" "*4+"学号:%s"%student_number)
    print(" "*4+"性别:%(性别)s"%info)
    print(" "*4+"民族:%(民族)s"%info)
    print(" "*4+"籍贯:%(籍贯)s"%info)
    print(" "*4+"专业/学院:%(专业/学院)s"%info)
    #打印分割线
    print("~"*42)


#main
print("\n"*2)
#接收模拟人数设定(>2)
person_number = input("模拟人数(≥2):".rjust(16))
if person_number=='':
    print("\n"*2, ("输入为'%s',程序结束。"%person_number).rjust(22), "\n"*2)
    #打印分割线
    print("~"*42)
    exit()
person_number = int(person_number)
if person_number<2:
    person_number = 2
    print("\n"*2, ("您的输入'%d'<2,已设置为'2'。"%person_number).rjust(22))
    print('')
    input("任意键继续……".rjust(22))
time_star = time.time()
students_tuple = {}
st = students_tuple
print("\n"*2, "正在生成'学生信息记录'……".rjust(22))
for i in range(2, person_number+1):
    number = "%d"%(i+6000000)
    name = person()
    nation = random.choices(nations, nation_weights, k=1)
    profession = random.choice(faculty).replace(":", " => 重庆大学 >> ")
    #调用函数生成学生信息记录
    create_student()


#写入'八爪章鱼'信息
number = 600001
name = '男八爪章鱼'
nation = ['汉']
create_student()

#打印字典
print("\n"*2, ("已生成%d条学生信息字典记录。"%len(st)).rjust(22), "\n"*2)
#print('学生信息记录字典:\n', st, type(st))

#print("\n"*2, "正在将'学生信息记录'存入文件……".rjust(22))
#pickle二进制编码
#pickle.dump(st, open("students_200w×1.dat", "wb"))

#print("\n"*2, "正在读取'学生信息记录'……".rjust(22))
#pickle二进制解码
#st2 = pickle.load(open('students_200w×1.dat', 'rb'))



while True:
    print("\n"*2)
    #打印分割线
    print("~"*42)
    in_s = input("请输入要查找的学号或者姓名:".rjust(16))
    if in_s=='':
        print("\n"*2, ("输入为'%s',退出查找。"%in_s).rjust(22), "\n"*2)
        #打印分割线
        print("~"*42)
        break
    #查找输入姓名或者学号
    print("\n"*2, ("正在查找'%s'……"%in_s).rjust(22), "\n"*2)
    #打印分割线
    print("~"*42)
    search_time1 = time.time()
    flag = 0
    #提取学生学号及姓名并遍历查找
    for i in st.keys():
        if in_s in i:
            show_student(st, i)
            flag = 1
    if flag==0:
        print("\n"*2, ("查无此人:'%s',程序结束。"%in_s).rjust(22), "\n"*2)
        #打印分割线
        print("~"*42)
        break
    #打印查询用时
    second = time.time()-search_time1
    print("\n")
    s = "The searching is time: %f s"%second
    print(s.rjust(12))


#打印模拟用时
second = time.time()-time_star
print("\n")
s = "The code running with time: %.2f s"%second
print(s.rjust(12), "\n"*2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值