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编程之属性和方法实例详解
May 19 Python
分享python数据统计的一些小技巧
Jul 21 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
May 15 Python
python for循环输入一个矩阵的实例
Nov 14 Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 Python
selenium+python自动化测试之页面元素定位
Jan 23 Python
python简单验证码识别的实现方法
May 10 Python
在Python中append以及extend返回None的例子
Jul 20 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
Aug 08 Python
python科学计算之numpy——ufunc函数用法
Nov 25 Python
基于python调用psutil模块过程解析
Dec 20 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 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 SQLite类
2009/05/07 PHP
php懒人函数 自动添加数据
2011/06/28 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
JS实现图片翻书效果示例代码
2013/09/09 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
js实现时间日期校验
2020/05/26 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
python实现的文件同步服务器实例
2015/06/02 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
python使用turtle库绘制树
2018/06/25 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
kafka-python批量发送数据的实例
2018/12/27 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
城建学院毕业生自荐信
2014/01/31 职场文书
小学少先队活动方案
2014/02/18 职场文书
文明寝室标语
2014/06/13 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
学校体育节班级口号
2015/12/25 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js