做所有这些地图&理解做同样的事情?哪个更像Pythonic?

时间:2017-11-03 23:18:55

标签: python python-3.x mapping list-comprehension

从这开始:

from itertools import repeat

def numin(srch_string, memlist):
    return srch_string.count(memlist)

sublist = ('x', 'str', 'a', 'pr')
string = "rprpraxp"

我想方设法找到给定字符串中子列表成员的总实例(在这种情况下恰好是4)

我已经沉浸其中并提出了这四种方法:

inst = 0
for member in sublist:
    inst = inst + numin(string, member)
print(inst)

print(sum(numin(string, member) for member in sublist))

print(sum(map(lambda member: numin(string, member), sublist)))

print(sum(map(numin, repeat(string), sublist)))

就我的业余知识而言,这四项中的每一项都有效,并做同样的事情。选择其中一个而不是其他的考虑因素是什么?

感谢。

PS。我特意排除了为了这次探索而不访问函数numin()的解决方案。

编辑:编辑了无意义的LIST电话。

0 个答案:

没有答案