присоединение к 2-му списку бок о бок - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь присоединиться к двум, 2d, список рядом.Однако у меня возникли проблемы, это то, что у меня до сих пор

def join_map_side(map1, map2):
ans = []

    if len(map1) != len(map2):
        return None
    if len(map1) == len(map2):
       for check in range(len(map1)):
            if len(map1) == len(map2):
                ans = [[].append(x) for x in list(zip(map1,map2))]


return ans
print(join_map_side([[1,2],[5,6]], [[3,4],[7,8]]))

, это возвращает [5, 6, 7, 8], но я хочу, чтобы оно вернулось [[1,2,3,4],[5,6,7,8]].кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Вот прямая -

def join_map_side(map1, map2):
    ans = []
    if len(map1) == len(map2):
        for index in range(0,len(map1)):
            ans.append(map1[index] + map2[index])
    return ans

print(join_map_side([[1,2],[5,6]], [[3,4],[7,8]]))

@ PM 2Ring - такой подход zip является разумным.Кажется, мне нужно больше узнать о Python.

0 голосов
/ 23 октября 2018

Вы можете сделать это с помощью zip.Я опущу проверки размера, чтобы сделать его простым.

ans = [u + v for u, v in zip(map1, map2)]

Вот более полная версия, обернутая в функцию, на тот случай, если вам понадобится эта проверка размера.Но если вы можете гарантировать, что входные списки имеют одинаковую длину, или вы не против потерять конечные подсписки из более длинных, я рекомендую более простую версию.

def join_map_side(map1, map2):
    if len(map1) == len(map2):
        return [u + v for u, v in zip(map1, map2)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...