Как применить функцию ко всем элементам в коллекции namedtuple - PullRequest
0 голосов
/ 06 июня 2018

Мне нужно применить функцию для каждого из элементов коллекции namedtuple.

Product = collections.namedtuple('Product', [
        'ticker_symbol', 'entity', 'unique_id', 'as_of_date', 'company_name',
        'followers', 'items', 'linkedin', 'industry', 'date_added',
        'date_updated', 'description', 'website', 'sector', 'ticker_industry'
    ])

response_rows = response_items.get('rows')
for response_row in response_rows:
    logging.info(response_row)
    results.append(Company(*response_row))
  return results

Я хочу применить к каждому из элементов в Nametuple Company следующую функцию:

def _ToString(value):
  if not value:
    logging.warning('Empty value')
    return None

  if isinstance(value, unicode):
    return value.encode('utf-8')
  else:
    return str(value)

1 Ответ

0 голосов
/ 05 июля 2018

Я использовал эту строку:

results.append(Company(*[_ToString(x) for x in response_row]))
...