Я часто сталкиваюсь с источниками данных, такими как (псевдокод ниже, а не какой-либо конкретный синтаксис, это просто для иллюстрации):
list = {
"XLabel",
"XDescription",
"YLabel",
"YDescription",
"ZLabel",
"ZDescription"
}
желаемый вывод:
list = {
MyClass("XLabel", "XDescription"),
MyClass("YLabel", "YDescription"),
MyClass("ZLabel", "ZDescription")
}
Есть ли что-нибудь более чистое, чем сделать fold()
и сложить его в новый список?Я также отказался делать что-то странное, например list.partition().zip()
Я в основном хочу более мощный map
, который бы работал как mapChunks( it1, it2 -> MyClass(it1, it2))
, где фрагментация является частью функции, поэтому она становится простой и приятной.(В моем примере список состоит из двух частей, но 3 также является распространенным вариантом использования.)
Существует ли эта функция?Или какой самый идиоматичный способ сделать это?