按首字母分组 python_[宜配屋]听图阁

本文实例为大家分享了python实现按首字母分类查找的具体代码,供大家参考,具体内容如下

要求:

1.自己查找一些英文词汇,存储到某个容器类中

2.根据英文词汇的首字母进行分类,类似于手机通讯簿中的快速查找功能

3.根据用户输入的字母,找到该字母开头的所有单词

#coding=utf-8

lexicons=["the","be","of","and","A","to","in","he","have","it","that","for","they","I","with","as","not","on","she","at","by","this","we","you","do","but","from","or","which","one","would","all","will","there","say","who","make","when","can"]

while True:

startLetter=raw_input("输入一个字母,列出所有以此字母开头的单词:")

if len(startLetter)!=1:

print "必须是一个字母"

else:

reLexicons=[] #结果列表

for x in xrange(len(lexicons)):

lexicon=lexicons[x]

if lexicon[0].lower()==startLetter.lower():#都转为小写后比较 开头字母不区分大小写

reLexicons.append(lexicon)

if len(reLexicons)==0:

print "没有结果"

else:

for x in xrange(len(reLexicons)):

print reLexicons[x]

上面的代码没有走第二步,如下代码 使用字典解决第二步

#coding=utf-8

'''

边遍历,边构造 key value

'''

lexicons=["the","be","of","and","A","to","in","he","have","it","that","for","they","I","with","as","not","on","she","at","by","this","we","you","do","but","from","or","which","one","would","all","will","there","say","who","make","when","can"]

lexiconDict={}

#分类 保存字典中

lexiconLen=len(lexicons)

for x in xrange(len(lexicons)):

lexicon=lexicons[x]

startLetter=lexicon[0]

dictLexicons=lexiconDict.get(startLetter,[])

#空列表说明没有Key 则添加Key 否则追加Key对应的Value

if len(dictLexicons)==0:

lexiconDict[startLetter]=[lexicons[x]]

else:

dictLexicons.append(lexicons[x])

while True:

startLetter=raw_input("输入一个字母,列出所有以此字母开头的单词:")

if len(startLetter)!=1:

print "必须是一个字母"

else:

lexicons=lexiconDict.get(startLetter.lower(),[])

if len(lexicons)==0:

print "没有结果"

else:

for x in lexicons:

print x

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值