我想写一个Rem(a, b)返回一个新元组的东西,就像删除a元素的第一个外观一样b.例如
Rem((0, 1, 9, 1, 4), 1)将返回(0, 9, 1, 4).
我只允许使用更高阶函数,如lambda,filter,map和reduce.
我正在考虑使用过滤器,但这将删除所有匹配元素
def myRem(T, E):
return tuple(filter(lambda x: (x!=E), T))
Run Code Online (Sandbox Code Playgroud)
myRem((0, 1, 9, 1, 4), 1) 我会有 (0,9,4)
以下作品(警告: hacky代码):
tuple(map(lambda y: y[1], filter(lambda x: (x[0]!=T.index(E)), enumerate(T))))
Run Code Online (Sandbox Code Playgroud)
但除非要求严格,否则我绝不会建议这样做
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |