Обновление Pandas Dataframe на основе сопоставления значений для электронной почты, но с заменой идентификатора пользователя

При условии, что они реализуют некоторый общий интерфейс (это облегчит задачу, особенно при кастинге), тогда это относительно просто.

Он все еще O (nm), так как вам нужно пройти оба длины списка, чтобы найти элементы для добавления.

public interface JoinInterface {
    int getId();
    int getObject1Id(); // likely baggage here
}


public static List<? extends JoinableEntity> leftJoin(List<? extends JoinableEntity> left,
                                               List<? extends JoinableEntity> right) {
    List<JoinableEntity> result = new ArrayList<>();

    result.addAll(left);
    for(JoinableEntity aLeft : left) {
        for(JoinableEntity aRight : right) {
            if(aLeft.getId() == aRight.getObject1Id()) {
                result.add(aRight);
                break;
            }
        }
    }

    return result;
}
1
задан cs95 5 March 2019 в 02:10
поделиться