仅使用python中的函数编程从元组中删除元素的第一次出现

时间:2018-02-10 07:05:59

标签: python functional-programming

我想只使用map,reduce,filter等功能编程概念从python中的元组中删除第一次出现的元素。我正在使用

filter(lambda x: x != E, T)

但它删除了T中的所有E。我只是想删除第一个元素而不使用任何循环,只有map,reduce和filter。

所需的输入/输出如下:

  

(0,1,2,1,3)=> (0,2,1,3)

感谢

2 个答案:

答案 0 :(得分:0)

>>> from itertools import chain, takewhile
>>> nums = (0, 1, 2, 1, 3)
>>> i = iter(nums)
>>> tuple(chain(takewhile((1).__ne__, i), i))
(0, 2, 1, 3)

在python 2上你必须要做

tuple(chain(takewhile(lambda n: n != 1, i), i))

答案 1 :(得分:0)

受@JonClements评论启发

values.put(CalendarContract.Events.DURATION,  "PT1D");