Печать нескольких списков с использованием формата - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть 2 списка с переменными размерами, которые должны быть напечатаны рядом друг с другом.Например, если

A = [30, 40, 50]
B = [1,2,3]

Затем я хочу напечатать вывод, который выглядит следующим образом:

A 30 B 1 A 40 B 2 A 50 B 3

Я пробовал что-то похожее на

print (len(A)* ('A {} B {}').format(*A,*B) 

, ноэто не дает мне то, что я ищу.

Любая помощь будет оценена.

Ответы [ 3 ]

0 голосов
/ 19 декабря 2018

Вы можете почтовый индекс оба списка:

A = [30, 40, 50]
B = [1,2,3]

result = ' '.join('A {} B {}'.format(a, b) for a, b in zip(A, B))
print(result)

Вывод

A 30 B 1 A 40 B 2 A 50 B 3
0 голосов
/ 19 декабря 2018

Одно из возможных решений:

print(*map(lambda x, y: "A {} B {}".format(x, y), A, B))

lambda x, y - лямбда-функция принимает 2 аргумента (каждый элемент из A и B) и создает структуру данных с именем map (аналогичнок списку).После этого мы рассматриваем map -подобную структуру данных как обычную list и печатаем каждый конкретный элемент.

Ввод

A = [1, 2, 3]
B = [4, 5, 6]

Промежуточныйрезультат

исключительно для пояснения.

print(*map(["A 1 B 4", "A 2 B 5", "A 3 B 6"]))

Выход

A 1 B 4 A 2 B 5 A 3 B 6

В случае, когдаодин из массивов будет короче, он вернет следующее:

Вход

A = [1, 2]
B = [4, 5, 6]

Выход

A 1 B 4 A 2 B 5

Для получения более подробной информации, посмотрите карту .

Вдохновленный Q & A

0 голосов
/ 19 декабря 2018

Использование простой итерации с enumerate

Пример:

A = [30, 40, 50]
B = [1,2,3]

print(" ".join("A {} B {}".format(v, B[i]) for i,v in enumerate(A)))

Выход:

A 30 B 1 A 40 B 2 A 50 B 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...