python查找单词的位置_如何在字符串/列表中查找单词的位置?

这篇博客讨论了一个Python函数的问题,该函数旨在查找用户指定单词在输入字符串中所有出现的位置。作者指出,当前代码只能找到单词的首次出现,并且在处理字符串的第一个单词时有误。为了解决这些问题,作者尝试了几种方法,包括在字符串开头插入空字符以及调整索引计数,但都没有成功。最终,作者通过简化代码解决了问题。现在,函数能够正确地识别并返回单词在字符串中所有位置的索引。
摘要由CSDN通过智能技术生成

我在写一个函数,用户输入一个单词,然后输入一个字符串,这个函数识别所有出现的单词以及该单词在字符串中的位置(尽管它实际上在中途被转换成了一个列表)。在

我目前的代码只识别第一次出现的单词,没有进一步的。如果单词是字符串中的第一个单词,它也不会识别该单词,返回一个空列表。它还将显示单词的实际位置-1,因为第一个单词被计算为零。在

我试图用两种方法来控制这个问题,第一种是做aString.insert(0, ' '),第二种是for i in __: if i == int: i += 1。这些都不管用。在

另外,在做.insert时,我试着在空格里放一个字符,而不是空格(因为这个部分无论如何都不会被打印出来),但那没用。在

代码如下:def wordlocator(word):

yourWord = word

print("You have chosen the following word: " +yourWord)

aString = input("What string would you like to search for the given word?")

aString = aString.lower()

aString = aString.split()

b = [(i, j) for i, j in enumerate(aString)]

c = [(i, x) for i, x in b if x == yourWord]

return c

我要找的结果是如果有人。。。在

^{pr2}$

目前这是可行的,但它会打印"3, word"。如果字符串是"that is a word and this is also a word",那么它将忽略"word"的进一步出现。

编辑:现在开始工作了,用了一段更简单的代码。谢谢大家的帮助!在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值