首页 > 解决方案 > 如何在列表中查找以用户要求的某个字母开头的单词

问题描述

所以我正在尝试制作一个添加、删除、搜索、保存和加载列表的程序

除了在列表中搜索第一个字母之外,我已经设法使一切正常

程序将询问用户想要搜索的字母然后它将在列表中搜索用户输入的第一个字母

我所能做的就是:

mylist = ["hello","world","how","you","doing"]
for word in mylist:
  print (word[0])

它确实打印出每个单词的第一个字母

h
w
h
y
d
>>> 

但我想做什么

mylist = ["hello","world","how","you","doing"]
letter = input("input a letter you would like to search ").lower()

将在整个列表中搜索用户输入的字母

在找到所有以该字母开头的单词后,我希望它打印出找到的单词数量,然后打印出与用户请求的字母一起找到的单词

标签: pythonlistletter

解决方案


使用列表推导startswith

[i for i in mylist if i.startswith(letter)]

它类似于您正在做的事情,但您没有检查如下情况

mylist = ["hello","world","how","you","doing"]
for word in mylist:
      if word[0]==letter:
            print(word)

为了安全使用.lower()列表中的字符串

mylist = ["Hello","world","how","you","doing"]
letter = 'h'
[i for i in mylist if i.lower().startswith(letter)] #["Hello","how"]

推荐阅读