我的“if”函数不能处理字符串?

2024-04-27 16:09:55 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个简单的问题:

lacount=0
ptcount=0
for line in list1:
    print(str(line))
    if 'LA'==str(line):
        lacount+=1

    if 'PT'==str(line):
        print('pt works')
        ptcount+=1

我试图计算列表中有多少'PT''LA',但似乎if语句不起作用,因为我的值仍然为零。有人能帮忙吗

我通过上面的编码打印出来的列表如下所示:

PMID
TI  
DP  
AU  
AU  
AU  
JT  
LA  
PT  


PMID
TI  
DP  
AU  
JT  
LA  
PT  


PMID
TI  
LID 
DP  
JT  
AU  
AU  
LA  
PT

PT = 0
LA = 0

Tags: pt列表foriflinetiladp
2条回答

我看不到此函数中提供的参考文本,但请尝试以下操作:

lacount, ptcount = 0, 0
for line in list1:
        print(str(line))
        if 'LA' in str(line):
                lacount+=1

        if 'PT' in str(line):
                print('pt works')
                ptcount+=1

如果一行中有多个引用:

lacount=0
ptcount=0
for line in list1:
        laccount += str(line).count('LA')
        ptcount += str(line).count('PT')

添加strip()将删除字符串中可能存在的任何空白:

lacount=0
ptcount=0
for line in list1:
        print(str(line))
        if 'LA'==str(line).strip():
                lacount+=1

        if 'PT'==str(line).strip():
                print('pt works')
                ptcount+=1

相关问题 更多 >