Я бы хотел использовать элементы списка по элементам без использования numpy, например, я хочу add([1,2,3], [2,3,4]) = [3,5,7]
и mult([1,1,1],[9,9,9]) = [9,9,9]
, но я не уверен, какой способ сделать он считается «правильным».правильный стиль для элементарных операций над списками без numpy (python)
Два решения я придумал были
def add(list1,list2):
list3 = []
for x in xrange(0,len(list1)):
list3.append(list1[x]+list2[x])
return list3
def mult(list1, list2):
list3 = []
for x in xrange(0,len(list1)):
list3.append(list1[x]*list2[x])
return list3
def div(list1, list2):
list3 = []
for x in xrange(0,len(list1)):
list3.append(list1[x]/list2[x])
return list3
def sub(list1, list2):
list3 = []
for x in xrange(0,len(list1)):
list3.append(list1[x]-list2[x])
return list3
где каждый оператор задается отдельной функции
и
def add(a,b)
return a+b
def mult(a,b)
return a*b
def div(a,b)
return a/b
def sub(a,b)
return a-b
def elementwiseoperation(list1, list2, function):
list3 = []
for x in xrange(0,len(list1)):
list3.append(function(list1[x],list2[x]))
return list3
, где определены все основные функции, и у меня есть отдельную функцию, чтобы использовать их для каждого элемента. Я просмотрел PEP8, но не нашел ничего актуального. Какой путь лучше?
не может использовать 'map'? вместо 'elementwiseoperation'. См: http://docs.python.org/2/library/functions.html#map –
, связанные с: http://stackoverflow.com/questions/18713321/element-wise-addition-of-2-lists-in- python –