我不知道这是否是一个重复的问题:我找了一个类似的问题,但我没有找到它。
我正在努力使用我的python代码,我希望有人会帮助我。
我的目的是:
我想要查看列表,如果列表中的元素是想要的,我想要打印它,如果不是我想不打印数据。
这是我的代码,但根本不起作用。
tags = soup('div') #from Beautifulsoup
for d in tags:
if d.get('class') == "listing_details":
print d.get('class')
else:
print 'no data'
此代码打印为len(列表)没有数据。
如果未验证第一个条件,我只想要一个输出。
有人可以帮助我吗?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
已更新
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我使用了该代码并且它可以正常工作
class_list= list()
for d in tags:
if d.get('class') == "listing_details":
print d.get('class')
class_list.append(d.get('class'))
if 'listing_details' not in class_list:
print 'no data available'
它尊重" 简单比复杂更好。"但不是" 美丽胜过丑陋。"
答案 0 :(得分:0)
使用变量来确定是否存在匹配元素:
found = False
for d in list:
if d.get('class') == "listing_details":
print d.get('class')
found = True
if not found:
print 'no data'
BTW,正如@Adirio所评论的那样,不要使用list
作为变量名。它会影响内置函数/类型list
。