You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中用户输入与文本文件内容不区分大小写匹配返回空列表问题排查

问题分析与解决方案

你遇到的问题核心是遍历对象搞错了!咱们拆解下你的代码逻辑:

你已经把文件内容按行分割成了listText(这才是存储每行内容的列表),但你的列表推导式却在遍历textString——也就是整个文件的原始字符串,这时候item代表的是单个字符,而不是一行完整文本。单个字符里自然不可能包含“Bruce”这样的单词,这就是明明有匹配内容却返回空列表的原因。

修正后的代码

把列表推导式里的textString换成之前生成的listText,让它遍历每行内容而非单个字符:

user_input = self.lineEditSearch.text()
print(user_input)
textString = self.ReadingFileContent(Item)
listText = list(textString.splitlines())
print(listText)
# 替换遍历对象为listText,针对每行做匹配检查
self.varStr = [item for item in listText if user_input.lower() in item.lower()]
print(self.varStr)

验证逻辑

修正后,列表推导式会逐个检查listText里的每一行内容:

  • 当你输入“Bruce”时,会匹配到所有包含该单词的行(比如'Bruce Demaugé'),就能得到你预期的结果了。

另外提一句,你之前注释掉的那行代码逻辑也有问题:c.capitalize()是返回一个新字符串,不是布尔判断值,不过既然你已经不用它了,就不多展开啦。

内容的提问来源于stack exchange,提问作者Propy Propy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:27:54