python - 检查列表中的元素是否存在于txt文件的字符串中(不工作)Python
问题描述
我尝试了很多方法,但我根本没有得到任何输出。我有一个包含不同类型字符串的列表:
lst=['ATCGG','GTAACGCT','AATCGAT',...]
我有一个如下的文本文件:
>seq1
NNNGTAACGCTNNN
>seq2
NNNNNAATCGATNNNN
>seq3
NNNNNNNN
.
.
.
如果行中存在列表中的任何项目,我想打印文本文件的行。根据上面的例子,期望的输出应该是:
NNNGTAACGCTNNN
NNNNNAATCGATNNNN
我使用了下面的命令,但没有打印出来:
main_file = open('test_file.txt', 'r')
contn = main_file.read()
#print(contn)
for dna in contn:
if any(i in dna for i in lst):
print(dna)
解决方案
您需要readlines
代替read
, read 将创建单个字符串,因此当您迭代时,dna
实际上只是单个字符
contn = main_file.read()
应该
contn = main_file.readlines()
推荐阅读
- mysql - laravel 3 utf8mb4 支持
- java - 我不知道 0xAA55 进入字节数组(大小 2)
- python - 无法使用 Pygame 更改单个像素
- typescript - 在 Typescript 中将多个导出分组到一个组中
- spyder - How do I view an image in Spyder's Variable Explorer?
- javascript - 条纹:错误:收到未知参数:bank_account [bank_name]
- python - Selenium webdriver没有点击Href链接
- ios - 从另一个类的函数设置 UIbutton 图像
- python - 覆盖“__new__”时,Pickle 不适用于从“namedtuple”继承的类
- machine-learning - 深度过滤器与常规卷积神经网络