python如果条件有两个输出

时间:2017-02-20 15:38:46

标签: python

我不知道这是否是一个重复的问题:我找了一个类似的问题,但我没有找到它。

我正在努力使用我的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'

它尊重" 简单比复杂更好。"但不是" 美丽胜过丑陋。"

1 个答案:

答案 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