加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python元组仅使用更高阶函数删除第一个匹配外观

发布时间:2020-12-20 12:13:51 所属栏目:Python 来源:网络整理
导读:我想编写一个Rem(a,b),它返回一个类似a的新元组,删除元素b的第一个外观.例如 Rem((0,1,9,4),1)将返回(0,4). 我只允许使用更高阶函数,如lambda,filter,map和reduce. 我正在考虑使用过滤器,但这将删除所有匹配元素 def myRem(T,E): return tuple(filter(lambda
我想编写一个Rem(a,b),它返回一个类似a的新元组,删除元素b的第一个外观.例如

Rem((0,1,9,4),1)将返回(0,4).

我只允许使用更高阶函数,如lambda,filter,map和reduce.

我正在考虑使用过滤器,但这将删除所有匹配元素

def myRem(T,E):
    return tuple(filter(lambda  x: (x!=E),T))

myRem((0,1)我会(0,4)

解决方法

以下作品(警告:hacky代码):

tuple(map(lambda y: y[1],filter(lambda  x: (x[0]!=T.index(E)),enumerate(T))))

但除非要求严格,否则我绝不会建议这样做

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读