Python列表与数字的四则运算

本文要点在于map()、eval()、repr()等内置函数的运用。

>>> def myMap(iterable, op, value):

if ((not isinstance(iterable, list)) or

(op not in '+-*/') or

(not isinstance(value, (int, float, complex)))):

return 'Error operator'

func = lambda i:eval(repr(i)+op+repr(value))

return list(map(func, iterable))

>>> myMap(list(range(6)), '+', 3)

[3, 4, 5, 6, 7, 8]

>>> myMap(list(range(6)), '-', 3)

[-3, -2, -1, 0, 1, 2]

>>> myMap(list(range(6)), '*', 3)

[0, 3, 6, 9, 12, 15]

>>> myMap(list(range(6)), '/', 3)

[0.0, 0.3333333333333333, 0.6666666666666666, 1.0, 1.3333333333333333, 1.6666666666666667]

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2016-10-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券