2016-11-04 115 views
1

谁能解释一下这段代码是做这段代码是干什么

dns = find_all(S("some value")) 

index = [dns.index(x) for x in dns if x.web_element.get_attribute("name") == "some value"] 

任何帮助表示赞赏。 由于

+0

注意:在代码片段的第一行中有不平衡的圆括号。 – mba12

回答

1

可变DNS应该是一个可迭代...这意味着它是一个列表,元组等

代码遍历DNS列表,在列表中每个项目被放置在变量x。 x是具有方法web_element.get_attribute的对象。字符串“名称”被添加到该对象。如果返回的值是“某个值”,那么dns.index(x)的结果被放置在变量some​​Value中。 someValue然后被添加到newList。

在我看来,代码创建的dns列表对象的索引列表符合由if语句建立的标准。下面的代码对于Python列表解析的新手来说可能更加清楚,但是也是一样的。希望这可以帮助。

newList = [] # empty list 
for x in dns: 
    if x.web_element.get_attribute("name") == "some value" 
     someValue = dns.index(x) 
     newList.append(someValue)