python - 为什么此列表中两个字母的索引返回相同?
问题描述
所以我在一个列表中索引字母。如果我将“h”“e”“l”“l”“o”的字母放在列表中并尝试获取它们的索引,它会返回 0 1 2 2 4。我如何获得第二个“l " 显示为 3?
def gameboard():
print("_ " * len(secretword))
for i in secretword:
gameboardindexes.append("_ ")
def letterindexes():
for i in secretword:
wordindexes.append(i)
def guessLetter():
guess = input("Please enter one letter: ")
for i in wordindexes:
if guess == i:
x = wordindexes.index(i)
print(x)
secretword = input("Please enter word:")
wordindexes = []
gameboardindexes = []
wrongletters = []
letterindexes()
gameboard()
guessLetter()
解决方案
列表索引函数返回第一次出现的索引。解决方法可能是从数组创建一个字符串并使用该rindex()
函数。该rindex()
函数返回找到子字符串的最后一个索引。
hello = ['h', 'e', 'l', 'l', 'o']
''.join(char for char in hello).rindex('l')
另一种可能性是为列表索引函数提供一个超过第一个找到的索引的开始索引。
hello = ['h', 'e', 'l', 'l', 'o']
hello.index('l', hello.index('l') + 1)
推荐阅读
- javascript - 在纯javascript中模拟真正的人类鼠标点击?
- html - WeasyPrint 将 HTML 转换为 PDF 未能生成完美的结果
- react-native - 反应原生 ScrollView onScroll 事件
- qt - VS 2017 错误 C2665 'qHash':30 个重载中没有一个可以转换所有参数类型
- javascript - 获取导入组件的高度
- vega - 分组标记的轴位置不正确
- django - 如何过滤 django 内联形式的查询集?
- android - Dialogflow Api 中的 URL 编码问题
- python - 如何修复 Python 中的字符串格式?
- jquery - 在单个页面上使用 jQuery 禁用 CSS 规则