Объединение двух списков с одинаковым количеством элементов и последовательное их добавление - PullRequest
0 голосов
/ 14 октября 2019

У меня есть что-то вроде:

list1 = [1, 3, None]
list2 = [2, 5, None]

И я хочу получить что-то вроде:

merged_list = [12, 35, None]

PS Оба списка всегда будут иметь одинаковую длину и могут иметьНет значения в качестве элемента.

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Вы можете сжать вместе два списка и обработать каждую соответствующую пару элементов.

[10 * a + b if a and b else None for a, b in zip(x, y)]

Это понимание списка объединит a и b, если ни один из них не равен None. В противном случае он просто поместит None.

Редактировать: Если вы просто хотите объединить любые значения, сделайте то же самое, но убедитесь, что вы приведете к строке, так что любое значение будет работать:

[str(a) + str(b) if a and b else None for a, b in zip(x, y)]

Обратите внимание, что он не выполняет слияние на месте, но возвращает новый массив с объединенными значениями

0 голосов
/ 14 октября 2019

Вы, вероятно, хотите объединить строки здесь. Что-то вроде

merged_list = []
for(i,j in zip(list1, list2):
  if(element is not None):
    merged_list.append(float(str(i) + str(j))
  else:
    merged_list.append(None)

Код не проверен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...