python找到一行单词中最长的_如何在文本文件中找到最长的单词?

当前代码返回文本文件中最长的一行,即句号。

如果您想要最长的一行是某个输入字符串的anagram,则需要获取一个输入字符串,并过滤掉不是anagram的行。

因为您指定了不存在重复字母,所以检查两个单词是否为anagrams的最简单方法是检查它们是否具有相同的字母集。所以:def Words(inputletters):

inputletters = set(inputletters)

qfile=open('dict.txt','r')

long=''

for line in qfile:

if set(line.strip()) == inputletters:

if len(line)>len(long):

long=line

return long

如果你不是在寻找一个精确的匹配,而只是一个子集,那么就用.issubset替换==。

或者如果“你不能重复字母”的意思是“你必须在两个字符串中完全重复相同的字母才能算作anagrams”,那也很简单:不要比较字母的集合,而要比较字母的排序列表:def Words(inputletters):

inputletters = sorted(inputletters)

qfile=open('dict.txt','r')

long=''

for line in qfile:

if sorted(line.strip()) == inputletters:

if len(line)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值