python字典序问题实例
作者:shichen2014 发布时间:2023-07-31 05:46:58
标签:python,字典
本文实例讲述了python字典序问题,分享给大家供大家参考。具体如下:
问题描述:
将字母从左向右的次序与字母表中的次序相同,且每个字符最大出现一次..例如:a,b,ab,bc,xyz等都是升序的字符串.现对字母表A产生的所有长度不超过6的升序字符串按照字典充排列并编码如下:
1 | 2 | .. | 26 | 27 | 28 | ... |
a | b | .. | z | ab | ac | .. |
对一个升序字符串,迅速计算出它在上述字典中的编码。
实现代码如下:
import string
all_letter = string.ascii_lowercase
def gen_dict():
result = {}
list_num_one = [ a_letter for a_letter in all_letter ]
list_num_two = [ i + j for i in all_letter for j in all_letter[all_letter.find(i)+1:]]
list_num_three = [ i + j + k for i in all_letter
for j in all_letter[all_letter.find(i)+1:]
for k in all_letter[all_letter.find(j)+1:]]
list_num_four = [ i + j + k + l for i in all_letter
for j in all_letter[all_letter.find(i)+1:]
for k in all_letter[all_letter.find(j)+1:]
for l in all_letter[all_letter.find(k)+1:]]
list_num_five = [ i + j + k + l + m for i in all_letter
for j in all_letter[all_letter.find(i)+1:]
for k in all_letter[all_letter.find(j)+1:]
for l in all_letter[all_letter.find(k)+1:]
for m in all_letter[all_letter.find(l)+1:]]
list_num_six = [ i + j + k + l + m + n for i in all_letter
for j in all_letter[all_letter.find(i)+1:]
for k in all_letter[all_letter.find(j)+1:]
for l in all_letter[all_letter.find(k)+1:]
for m in all_letter[all_letter.find(l)+1:]
for n in all_letter[all_letter.find(m)+1:]
]
for key,value in enumerate(list_num_one + list_num_two + list_num_three + list_num_four + list_num_five + list_num_six):
result.setdefault(key+1,value)
return result
my_dict = gen_dict()
value_to_get = 'abcdef'
for key,value in my_dict.iteritems():
if value == value_to_get:
print key
结果:83682
即abcdef在字典中的编码。
希望本文所述对大家的Python程序设计有所帮助。
0
投稿
猜你喜欢
- Oracle9i之前,中文是按照二进制编码进行排序的。在oracle9i中新增了按照拼音、部首、笔画排序功能。 1、
- ps:不曾想还有那么好用的方法。汗一个先。Div即父容器不根据内容自适应高度,我们看下面的代码:<div id="main&
- 从2003年到现在,从ACCESS到SQL SERVER的使用。在ACCESS中没有存储过程的概念。在使用过程中,发现ACCESS与SQL
- 在工作中,我们经常需要从命令行当中解析出指定的参数,而 Python 也提供了相应的标准库来做这件事情,比如 sys, optparse,
- 不知各位是否有手写代码的习惯。例如:要在一个单元格插入一段CSS代码,或者一段Javascript代码,怎么做才比较快捷方便呢?虽然Drea
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗的解决方法分享。<div id='tes
- 在HTML中,常见的URL有多种表示方式:相对URL: example.php demo
- ASP开发网页牢记注意事项 选择自 RAINMAN_NET&
- js模拟随机抽奖程序代码!相关文章推荐:随机6+1选号码摇奖程序 <html><title>模拟抽奖-asp之家&l
- 一、Position1、语法:position:static/ absolute / fixed / relative2、参数:(1)sta
- ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写 的,主要用于创建前端用户界面,是一个与后台技术无关的
- 用XMLHTTP Post Form时的表单乱码有两方面的原因——Post表单数据时中文乱码;服务器Response被XMLHTTP不正确编
- “网页设计三剑客”可能很多新同学都没听说过,因为缔造神话的公司已经快销声匿迹。“网页设计三剑客”是Macromedia公司旗下Dreamwe
- 10月9日是国庆中秋黄金周后上班的第一天,当天近8亿人次逛淘宝,即淘宝网每分钟完成43.47万元的交易,创下国内网购单天交易最高纪录。从销售
- 前言随着网站的内容的增多和用户访问量的增多,网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,,我们往往需要在此时对我们的网站
- SQL Server创建临时表:创建临时表 方法一: &n
- 如何用Cookie进行登录验证?很简单,看看这两个文件:login.htm请注册登录随风起舞<FORM ACTION=&qu
- 应原书编辑要求,先在文章顶部给出链接:《Everything You Know About CSS Is Wrong》http://www.
- (一)原理 小偷程序实际上是通过了XML中的XMLHTTP组件调用其它网站上的网页。比如新闻小偷程序,
- 在我转到wordpress之后第一个考虑的是它的数据库备份恢复问题,因为写bloger都知道,自己的blog记录的都是自己需要的宝贵的资料和