python - 如何在列表中查找以用户要求的某个字母开头的单词
问题描述
所以我正在尝试制作一个添加、删除、搜索、保存和加载列表的程序
除了在列表中搜索第一个字母之外,我已经设法使一切正常
程序将询问用户想要搜索的字母然后它将在列表中搜索用户输入的第一个字母
我所能做的就是:
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()
将在整个列表中搜索用户输入的字母
在找到所有以该字母开头的单词后,我希望它打印出找到的单词数量,然后打印出与用户请求的字母一起找到的单词
解决方案
使用列表推导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"]
推荐阅读
- php - SoapClient 和 https 在长时间呼叫响应后出现错误 500
- java - 将 Realm 角色和资源角色与 Keycloak/SpringSecurity 一起使用
- charts - ChartJs:X 轴标签在底部切割
- c# - 如何对带有数字的字符串进行排序
- python - 使用 PIL(PILLOW) Python 库显示 Dicom 图像
- java - 设置后更改 InputStream 字符集
- drupal - Drupal 8 不断挂起并且无法安装插件
- java - Hybris 在单独的浏览器选项卡中打开外部链接
- dns - Postfix chroot dns 解决问题(Ubuntu 18.04.4 LTS,Postfix 3.3.0)
- c# - WebApi ActionName 删除路由不起作用