python – 在符合条件的两个相邻列表元素之间插入元素
发布时间:2020-12-20 12:26:17 所属栏目:Python 来源:网络整理
导读:在 python中,在满足条件的任何两个元素之间插入元素的干净方法是什么? 像这样的电话: insert_between([1,2,3,4,7,8,9,15,16],lambda x,y: x + 1 != y) 应该产生: [1,16] 有没有比迭代和附加到第二个列表更好的方法? 解决方法 def insert_between(iterabl
在
python中,在满足条件的任何两个元素之间插入元素的干净方法是什么?
像这样的电话: insert_between([1,2,3,4,7,8,9,15,16],lambda x,y: x + 1 != y) 应该产生: [1,16] 有没有比迭代和附加到第二个列表更好的方法? 解决方法>>> def insert_between(iterable,fill,cond): ... iterable = iter(iterable) ... prev = next(iterable) ... yield prev ... for cur in iterable: ... if cond(prev,cur): ... yield fill ... yield cur ... prev = cur ... >>> >>> list(insert_between([1,y: x + 1 != y)) [1,16] 这非常有效,因为你无论如何都必须在列表中进行一次传递,这只能传递一次.请注意,它是一个生成器,因此如果您需要一次所有值,则需要将其强制转换为列表. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |