Сжать вектор в Python

Решение CodingFreak, вероятно, работает, и я рекомендую его использовать, но вот еще одно решение, если вы не уверены в использовании директивы Angular Pipe.

В вашем файле component.ts введите службу CurrencyPipe:

constructor(public cp: CurrencyPipe) { }

Затем в вашем файле app.module.ts или component.ts обязательно включите службу CurrencyPipe в своих провайдерах:

providers: [ CurrencyPipe ]

Наконец, вы можете использовать трубы следующим образом:

formatNumber = (row, columnfield, value, defaulthtml, columnproperties,rowdata) =>
{ 
    return '$' + this.cp.transform(value, "USD") + ''; 
};

Для получения дополнительных параметров перейдите к Угловая документация .

0
задан MonkeySolve 19 January 2019 в 23:18
поделиться

1 ответ

у вас есть 2 варианта:

  • изменить входной аргумент
  • вернуть x вместе с d

Изменение входного аргумента может укусить Вы позже, когда вы хотите проверить оригинальную версию x или что-то уже имеет ссылку на оригинал, и вы изменили его.

Я бы предложил это (измените итерационную переменную в понимании, есть другие буквы там, используйте их):

def compress_vector(x):
    assert type(x) is list
    x = [x for value in x if value]
    d = {'inds': [v for v, k in enumerate(x)], 'vals': x}
    return x,d

затем:

x,d = compress_vector(x)

Чтобы изменить [116 ] использование на месте назначение среза , которое не создает новую ссылку, но использует исходную ссылку:

def compress_vector(x):
    assert type(x) is list
    x[:] = [x for value in x if value]
    return {'inds': [v for v, k in enumerate(x)], 'vals': x}
0
ответ дан Jean-François Fabre 19 January 2019 в 23:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: