Как сгруппировать / объединить элементы в 2D-списке на основе 1D-элементов, принадлежащих другому 2D-списку?

На самом деле, вы должны использовать управляемые объекты JVM или Spring-managed Object для вызова методов. из вашего вышеуказанного кода в классе контроллера вы создаете новый объект для вызова своего класса обслуживания, у которого есть объект с автоматической проводкой.

MileageFeeCalculator calc = new MileageFeeCalculator();

, поэтому он не будет работать таким образом.

Решение делает этот MileageFeeCalculator как объект с автоматической проводкой в ​​самом контроллере.

Измените свой класс контроллера, как показано ниже.

@Controller
public class MileageFeeController {

    @Autowired
    MileageFeeCalculator calc;  

    @RequestMapping("/mileage/{miles}")
    @ResponseBody
    public float mileageFee(@PathVariable int miles) {
        return calc.mileageCharge(miles);
    }
}
0
задан envi z 23 March 2019 в 07:29
поделиться

1 ответ

Похоже, вам нужно это:

L1_it = iter(L1)

result = [[[L2_element, *next(L1_it)] for L2_element in sublist] for sublist in L2]  

Это можно расширить следующим образом:

L1_it = iter(L1)

result = []

for L2_sublist in L2:
    result_sublist = []
    for L2_element in L2_sublist:
        result_sublist.append([L2_element, *next(L1_it)])

    result.append(result_sublist)

Оба метода дают одинаковый результат:

[[['eɪ', 0.0, 0.22]], [['æ', 0.0, 0.13], ['f', 0.03, 0.19], ['ɹ', 0.14, 0.49], ['i', 0.2, 0.55], ['k', 0.5, 0.61], ['ʌ', 0.56, 0.72], ['n', 0.62, 0.82]], [['eɪ', 0.0, 0.11], ['ʤ', 0.03, 0.31], ['ʌ', 0.12, 0.47], ['n', 0.32, 0.55], ['t', 0.48, 0.72], ['s', 0.56, 0.75]], [['ɔ', 0.0, 0.09], ['l', 0.03, 0.16]]]

Чтобы добраться до этого фрагмента кода, мы видим, что ожидаемый результат имеет ту же структуру, что и L2, за исключением того, что элементы в порядке выполнения из L1 добавляются к каждому подсписку в L2, как если бы он был сплющен.

0
ответ дан gmds 23 March 2019 в 07:29
поделиться
Другие вопросы по тегам:

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