python字典序问题实例


Posted in Python onSeptember 26, 2014

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python ZipFile模块详解
Nov 01 Python
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
Python函数嵌套实例
Sep 23 Python
Python实现线程状态监测简单示例
Mar 28 Python
Python3连接SQLServer、Oracle、MySql的方法
Jun 28 Python
Python中应该使用%还是format来格式化字符串
Sep 25 Python
python 同时读取多个文件的例子
Jul 16 Python
python对验证码降噪的实现示例代码
Nov 12 Python
Python如何使用Gitlab API实现批量的合并分支
Nov 27 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
Django微信小程序后台开发教程的实现
Jun 03 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
python计算书页码的统计数字问题实例
Sep 26 #Python
python实现从web抓取文档的方法
Sep 26 #Python
python实现udp数据报传输的方法
Sep 26 #Python
python使用Berkeley DB数据库实例
Sep 26 #Python
python实现通过shelve修改对象实例
Sep 26 #Python
python实现在pickling的时候压缩的方法
Sep 25 #Python
python使用cPickle模块序列化实例
Sep 25 #Python
You might like
php可生成缩略图的文件上传类实例
2014/12/17 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
使用js画图之饼图
2015/01/12 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[04:55]完美世界副总裁蔡玮:DOTA2的自由、公平与信任
2013/12/18 DOTA
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
Python如何获取文件指定行的内容
2020/05/27 Python
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
一些高难度的SQL面试题
2016/11/29 面试题
销售行业个人求职自荐信
2013/09/25 职场文书
统计员岗位职责
2013/11/14 职场文书
运动会通讯稿100字
2014/01/31 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
中学生纪念九一八事变演讲稿
2014/09/14 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
工作时间调整通知
2015/04/24 职场文书