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 相关文章推荐
Python3基础之基本数据类型概述
Aug 13 Python
Python实现求最大公约数及判断素数的方法
May 26 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
python使用Geany编辑器配置方法
Feb 21 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
详解Django配置JWT认证方式
May 09 Python
Django使用Profile扩展User模块方式
May 14 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
如何在mac版pycharm选择python版本
Jul 21 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
pandas提升计算效率的一些方法汇总
May 30 Python
python通过函数名调用函数的几种方法总结
Jun 07 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中实现精确设置session过期时间的方法
2014/07/17 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
详解php的socket通信
2015/08/11 PHP
php格式化时间戳
2016/12/17 PHP
JavaScript触发器详解
2007/03/10 Javascript
JavaScript开发时的五个注意事项
2007/12/08 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
21行Python代码实现拼写检查器
2016/01/25 Python
python直接访问私有属性的简单方法
2016/07/25 Python
浅谈Python peewee 使用经验
2017/10/20 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
Python常见排序操作示例【字典、列表、指定元素等】
2018/08/15 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
Python之字典添加元素的几种方法
2020/09/30 Python
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
教师作风整改措施思想汇报
2014/10/12 职场文书
学习十八届四中全会精神思想汇报
2014/10/23 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android