python - 从文件中查找字符串和字符串的索引到列表中
问题描述
在将其转换为列表后,我试图在 txt 文件中找到一个字符串,并且我想知道该字符串的索引。
txt 文件包含以下内容:
captcp 2010-2013 Hagen Paul Pfeifer 等 (c)
http://research.protocollabs.com/captcp/
总数据(有效输入):33016186 字节(264.13 Mbit)
吞吐量(goodput):543805.43 byte/s (4.35 Mbit/s)
我尝试了以下代码:
fo=open ('B_rand.txt', "r")
cont=fo.readlines()
print(cont)
if '4.35' in cont:
print("yes:", cont.index('4.35')
else:
print("No")
输出: ['# captcp 2010-2013 Hagen Paul Pfeifer and others (c)\n', '# http://research.protocollabs.com/captcp/ \n', '# 总数据(goodput):33016186 byte ( 264.13 Mbit)\n', '# 吞吐量 (goodput): 543805.43 byte/s (4.35 Mbit/s)\n'] 无回溯(最近一次调用最后):文件“find.py”,第 9 行,索引 = cont.index('4.35') ValueError: '4.35' 不在列表中
我期待找到 (4.35) 及其索引。
解决方案
4.35 在您的列表中不存在,因为它正在针对每个元素检查整个字符串。相反,您想在每个列表元素中搜索该字符串。为此,您可以使用任何元素,并从列表中获取每个元素,如下所示:
if any("4.35" in el for el in cont):
如果您只想打印有问题的索引,
print [i for i, el in enumerate(cont) if "4.35" in el]
推荐阅读
- angularjs - 使用 ng-change 将值从 ng-model 传递到另一个 ng-model 时出错
- c++ - 如何验证 Visual Studio 2017 中使用的 Spectre 缓解标志是否适用于 C++?
- pyinstaller - 如何在 pyinstaller 中包含 wkhtmltopdf
- python - 在pycharm中更改名称后突然禁用语法突出显示
- javascript - 尝试使用 AR.JS 显示 jpeg 图像,并且仅在单击按钮时
- c# - Android.Content.Res.Resources+NotFoundException Drawable com.companyname.mySchool:drawable/splash_screen 资源 ID #0x7f02012c
- angular - 你如何在 Angular 中全局配置 moment.js?
- arrays - 参考错误:使用“|”访问对象时未定义对象 在 Angular (Typescript) 之间
- c# - 如何在winfoms中更改列表视图的选定行背景
- javascript - 检查焦点是否在 Firefox 中具有 contenteditable 的 div