我想将两个列表的元素相减,并用 python 中干净高效的代码将它们列出来:
例如,给定两个列表[2,7,8], [1,9],减去(成对)元素将得到:[1, 7, 6, 2, 7, 1]。
我想出了两个代码:
代码1:
l1,l2 = [1], [3,4]
l3,l4 = [2,7,8], [1,9]
def computedifference(list1,list2):
output = []
for i in list1:
for j in list2:
output.append(abs(i-j))
return output
print(computedifference(l1,l2))
print(computedifference(l3,l4))
代码2:
import numpy as np
l1,l2 = [1], [3,4]
l3,l4 = [2,7,8], [1,9]
def computedifference(list1,list2):
output1 = [ np.asarray(list1)-x for x in np.asarray(list2)]
output = [np.abs(x) for x in output1]
return output
print(computedifference(l1,l2))
print(computedifference(l3,l4))
预期产出
[2, 3]
[1, 7, 6, 2, 7, 1]
有没有更好的、Pythonic 且有效的方法?
长风秋雁
胡说叔叔
慕的地6264312
月关宝盒
沧海一幻觉
开心每一天1111
相关分类