我需要一个如何处理它的小澄清。我有一个列表'm',我正在迭代寻找一个高于某个极限的整数,比如'90'。 一旦达到此限制,我想停止迭代,并发布该项(即满足条件)。 例如,如果98.877是项目,我必须将其附加到新列表中(请参见下面的代码段)
问题
我的挑战是,我只能扩展满足条件的项之前的项。谢谢你的帮助
m = [('a', 0.6720430254936218), ('a', 0.9672043025493621), ('a', 0.6720430254936218), ('a', 0.6720430254936218), ('a', 0.8720430254936218), ('a', 0.6720430254936218), ('a', 0.6720430254936218), ('c', 0.6720430254936218), ('c', 0.6720430254936218), ('c', 0.6720430254936218), ('c', 0.6720430254936218), ('o', 0.6720430254936218), ('o', 0.6720430254936218), ('o', 0.6720430254936218), ('o', 0.7720430254936218), ('o', 0.6720430254936218), ('r', 0.6720430254936218), ('r', 0.6720430254936218), ('r', 0.9720430254936218), ('r', 0.6720430254936218), ('d', 0.6720430254936218), ('i', 0.6720430254936218), ('i', 0.6720430254936218), ('i', 0.6720430254936218), ('n', 0.6720430254936218), ('n', 0.6720430254936218), ('n', 0.6720430254936218),]
simis = []
def end_of_loop():
raise StopIteration
simis.extend(list(end_of_loop() if item[1]*100 >= 90 else item[1]*100 for item in m))
print(simis)
从技术上讲,这是一个生成器表达式,而不是列表理解。 不管怎样,似乎您只想查找并附加满足条件的第一项,因此您只需使用
next
:相关问题 更多 >
编程相关推荐