Я написал этот код:
def readFile(filename):
a = open(filename,'r')
strs = np.array(0,dtype=[('nstr','d'),('test','f')])
for i in a.readlines():
if i[0] != '#':
line = i.split()
if len(line) > 0:
tmp_strs = np.array(1,dtype=[('nstr','d'),('test','f')])
tmp_strs['nstr'] = int(line[0])
tmp_strs['test'] = float(line[1])
strs = np.append(strs,tmp_strs)
return strs
Теперь я бы хотел отсортировать этот массив с массивами по полю nstr.Это легко сделать с помощью функции сортировки массива numpy.Во всяком случае, я столкнулся со странным поведением, которое не могу понять.Если я сделаю что-то вроде:
test = readFile(filename)
test.sort(order='nstr')
все работает нормально.Но если я изменю возвращаемое значение внутри функции, например
return strs.sort(order='nstr')
Возвращаемое значение равно None ... может кто-нибудь объяснить мне, почему это происходит?У меня нет никаких объяснений