есть способ, которым я могу объединить список строк и 2 списка номеров, так что объединенный список будет принимать их один за порядком при их присоединении.
Входные данные:
a = [john, bob, ted, Paul]
b = [22, 34, 56, 12]
c = [13, 98, 78, 60]
Ожидаемый вывод:
[john, 22, 13, bob, 34, 98, ted, 56, 78, Paul, 12, 60]
Вы можете использовать функцию zip
со списком:
a = ['john', 'bob', 'ted', 'Paul']
b = [22, 34, 56, 12]
c = [13, 98, 78, 60]
outcome = [i for t in zip(a, b, c) for i in t]
outcome
станет:
['john', 22, 13, 'bob', 34, 98, 'ted', 56, 78, 'Paul', 12, 60]
Обратите внимание, что в списке c
в вашем вопросе есть дополнительные 90
которые не соответствуют ожидаемому результату, поэтому я удалил его, полагая, что это опечатка с вашей стороны.
Ваши списки: Убедитесь, что все списки имеют одинаковые размеры.
a = ['john', 'bob', 'ted', 'Paul']
b = [22, 34, 56, 12]
c = [13, 98, 78, 90]
Импортировать numpy отличный модуль для обработки массивов
import numpy as np
Создайте массив numpy и измените их, как хотите.
a = np.array(a).reshape(-1,1)
b = np.array(b).reshape(-1,1)
c = np.array(c).reshape(-1,1)
Соедините их вдоль требуемой оси. В вашем случае это будет 1 (Колонка мудрая, как мы изменили массивы)
f= np.concatenate((a,b,c),axis=1)
Сгладить их в 1D массиве
f = f.flatten()
print(f)
Использование форматированной строки и перечисление со списком
l = ['{}, {}, {}'.format(a[idx], b[idx], c[idx]) for idx, item in enumerate(a)]
['john, 22, 13', 'bob, 34, 98', 'ted, 56, 78', 'Paul, 12, 60']
a + b + c