python应用_字典序问题
2011-11-21 12:21
337 查看
问题描述:
将字母从左向右的次序与字母表中的次序相同,且每个字符最大出现一次..例如:a,b,ab,bc,xyz等都是升序的字符串.现对字母表A产生的所有长度不超过6的升序字符串按照字典充排列并编码如下:
对一个升序字符串,迅速计算出它在上述字典中的编码..
代码实现:
结果:83682 即abcdef在字典中的编码
将字母从左向右的次序与字母表中的次序相同,且每个字符最大出现一次..例如: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 Email应用的中文乱码问题解决方法
- leetcode 2. Add Two Numbers python实现的理解,结点,单链表的应用,大数,进位的问题
- 关于python中对象复制和应用的问题
- 【原创】python web应用性能测试出现的问题以及使用的工具
- 应用Python解决报表日常对数问题
- Python更改默认版本造成的Ubuntu应用崩溃 ||图形界面修复 || Sublime Text 3的Emmet PyV8问题
- python应用_求众数问题
- 应用Python解决报表日常对数问题
- python遗传算法应用(句子配对和TSP问题)
- python应用中一个具体问题的效率对比
- 技术性问题 – 您需要多少个PHP/Python/Ruby 应用服务器工作线程?
- 技术性问题 – 您需要多少个PHP/Python/Ruby 应用服务器工作线程?
- python应用之_最多约数问题
- python字典序问题实例
- 【极客学院】-python学习笔记-3-单线程爬虫 (request安装遇到问题及解决,应用requests提取信息)
- 应用 Python 解决一些实际问题
- 应用 Python 解决一些实际问题
- python应用_统计数字问题,计算书的页码
- 应用 Python 解决一些实际问题
- Python中的生成器在八皇后问题上的应用