python - 使用 find() 返回最后一个字符位置而不是第一个字符位置
问题描述
我正在为一个应该像单词搜索一样工作的学校项目开发一个程序。我们需要在字符串中找到一个(或多个单词)并打印它在字符串中的位置。似乎很容易。这是一个例子:
yew = "hello"
myString = "alskdfjhelloadskjf"
print(myString.find(yew))
7
正如预期的那样,这将打印出来。我的教授还希望我们能够找到落后的单词,这是我的代码示例,它也有效
myString = "alskdfjollehadskjf"
print(myString.find(yew[::-1]))
这也打印7
,但是,我的教授希望程序打印单词中第一个字母的位置,所以在这种情况下,我希望它打印11
。到目前为止,我发现解决此问题的唯一方法如下
print(myString.find(yew[::-1]) + len(yew) - 1) # prints 11
有没有我没有看到的更有效的方法来做到这一点?还是find()
您认为更适合该计划的替代方案?谢谢!
编辑:有没有办法以更简洁的方式编写它*不一定更有效,因为我们可以看到它工作正常。抱歉没有澄清
解决方案
我认为您的实施没有任何问题;实际上,这是我在看到您的解决方案之前想到的第一件事。如果你想找到一个单词中最后一个字符的位置,你可以在len(word) - 1
. 看起来你做得很好!
推荐阅读
- c# - 如何在不更改 C# 中的密钥的情况下将 RSAParameters 密钥导入和导出到文件
- apache-spark - 可以使用 Sqoop 在 IMPORT 上执行连接吗?
- grpc - gRPC Stackdriver 问题
- python - Python Selenium - 获取href值
- java - 春季启动 2. Java 10. JUnit。org.slf4j 包可以从多个模块访问:
, slf4j.api - c++ - 使用cmake,我如何将第三方库链接到我自己的程序(找到项目,从源代码构建,并安装,链接)
- javascript - 从节点js中的数据库中检索图像
- node.js - 如何在nodejs中获取与来自mongodb的问题相对应的特定字段
- angularjs - 未知提供者:$intervalProvider <- $interval <-infiniteScrollDirective
- javascript - 使用 CTRL + END 的量角器