• Предмет: Информатика
  • Автор: Annapl3
  • Вопрос задан 4 месяца назад

Допоможіть, будь ласка, дуже терміново! Python

Задано список B. Написати програму формування іншого списку, в якому елементи сформовані таким чином, що нульові елементи перенесено у хвіст списку. Порядок розміщення інших елементів не змінювати.

Ответы

Ответ дал: wherethefux
1

У нас є кілька варіантів:

Ми можемо використовувати функцію filter() з вбудованим перетворювачем, щоб створити новий список, що містить тільки ненульові елементи з вихідного списку. Потім ми можемо використовувати функцію extend() для того, щоб додати всі нульові елементи в список, починаючи з хвоста.

# початковий список

B = [1, 0, 2, 3, 0, 4, 5, 0]

# створюємо новий список, що містить тільки ненульові елементи

non_zeros = list(filter(lambda x: x != 0, B))

# додаємо нульові елементи до хвоста списку

non_zeros.extend(filter(lambda x: x == 0, B))

# результівний список

print(non_zeros)  # [1, 2, 3, 4, 5, 0, 0, 0]

Або ми можемо використати два цикли 'for' і функцію append спочатку для цифр, що не дорівнюють нулю, а потім і для них

# початковий список

B = [1, 0, 2, 3, 0, 4, 5, 0]

# створюємо новий список, що містить тільки ненульові елементи

non_zeros = []

for i in B:

   if i != 0:

       non_zeros.append(i)

# додаємо нульові елементи до хвоста списку

for i in B:

   if i == 0:

       non_zeros.append(i)

# результівний список

print(non_zeros)  # [1, 2, 3, 4, 5, 0, 0, 0]

Вас заинтересует