我有一个如下列表:
a = [ 1, 2 , 3, 4, s, s+1]
我要保留前两个元素,然后将其余两个元素相乘。 结果如下:
b = [1, 2, 12, s**2 + s]
我知道我是否想要求和,我可以使用下面的代码:
b = [*a[:2], *map(sum, (a[i: i + 2] for i in range(2, len(a), 2)))]
print (b)
,我将得到以下结果:[1, 2, 7, 2*s + 1]
但是,我不知道如何获得结果。
谢谢
答案 0 :(得分:3)
这是一种类似的方法,但是将itertools.starmap
与operator.mul
结合使用:
classifier = tf.contrib.estimator.add_metrics(classifier, compute_metrics)
答案 1 :(得分:2)
定义自定义乘法功能:
def mul(lst):
s = 1
for x in lst:
s *= x
return s
[*a[:2], *map(mul, (a[i: i + 2] for i in range(2, len(a), 2)))]
答案 2 :(得分:1)
也可以使用s1.intersection(s2) # {'hamburger', 'kebab'}
:
zip