我目前有一个元素列表(文本),我试图让这个列表的第一个元素包含单词"stars"
。我试过这个(在其他几个方面),但它不起作用,我很丢失。
列表名称是name_box:
i = 0
for element in name_box:
if "stars" in element:
note_finale = element
print(note_finale)
break
else:
i = i+1
(我对编码很陌生,所以请随时给我任何提示)
答案 0 :(得分:2)
我更喜欢使用发电机:
if(typeof sender !== 'string') sender = sender.toString();
if (sender.indexOf("(GMT Standard Time)") !== -1){
// your code here
}
<强>解释强>
lst = ['a', 'b', 'c', 'stars', 'starstruck', 'd', 'e', 'f']
res = next(i for i in lst if 'stars' in i)
# 'stars'
是一个内置函数,用于检索迭代器的下一项。答案 1 :(得分:0)
这就是你如何做到这一点的一个例子:
name_box = ['<span class="a-icon-alt">Facebook</span>',
'<span class="a-icon-alt">Twitter</span>',
'<span class="a-icon-alt">Pinterest</span>',
'<span class="a-icon-alt">Free Shipping for Prime Members</span>',
'<span class="a-icon-alt">4.5 out of 5 stars</span>',
'<span class="a-icon-alt">Back</span>',
'<span class="a-icon-alt">4.4 out of 5 stars</span>',
'<span class="a-icon-alt">Prime</span>',
'<span class="a-icon-alt">4.6 out of 5 stars</span>']
for e in name_box:
if 'stars' in e:
print(e)
注意:我必须在列表中的字符串周围添加''
,因为您提供的输入数据丢失了。
输出:
<span class="a-icon-alt">4.5 out of 5 stars</span>
<span class="a-icon-alt">4.4 out of 5 stars</span>
<span class="a-icon-alt">4.6 out of 5 stars</span>
如果您真的想先破解stars
,可以在break
语句中输入,例如:
for e in name_box:
if 'stars' in e:
print(e)
break
[根据评论编辑]
当我打印我的name_box时,那些'确实缺失了
可能是您的name_box
实际上是字符串,而不是列表。因此,您需要split()
将其设为列表,例如:
name_box_string = '[<span class="a-icon-alt">Facebook</span>, <span class="a-icon-alt">Twitter</span>, <span class="a-icon-alt">Pinterest</span>, <span class="a-icon-alt">Free Shipping for Prime Members</span>, <span class="a-icon-alt">4.5 out of 5 stars</span>, <span class="a-icon-alt">Back</span>, <span class="a-icon-alt">4.4 out of 5 stars</span>, <span class="a-icon-alt">Prime</span>, <span class="a-icon-alt">4.6 out of 5 stars</span>]'
name_box_list = name_box_string[1:-1].split(',')
for e in name_box_list:
if 'stars' in e:
print(e)