Я нахожусь в процессе изучения понимания списка и наткнулся на тип проблемы, которую я не могу найти в ресурсах для адекватного понимания.
Проблема связана со следующим вопросом: у нас есть массив [1,2, 3,8,9] и хотим создать выражение, которое бы возвращало каждое нечетное число дважды, в то время как четные числа возвращались только один раз.
Примечание: есть также подсказка, что я мог бы создавать вложенные списки, но это такдалеко не помогли мне точно определить, как это мне послужит.
Вывод соответствующего алгоритма должен быть: [1,1,2,3,3,8,9,9]
Используя цикл, я мог бы делать то, что я хочу, вот так:
OtherNumList = [1, 2, 3, 8, 9]
OtherNumList2 = []
for i in OtherNumList:
if i%2==1:
OtherNumList2.append(i)
OtherNumList2.append(i)
else:
OtherNumList2.append(i)
print(OtherNumList2)
Я хочу сделать это, используя только выражение, или иначе «однострочно», используя понимание списка.
Я изо всех сил пытаюсь понять, как настроить понимание так, чтобы оно добавлялось дважды, если X, и добавлялось один раз, если Y.
Буду признателен за вашу помощь в понимании даже только концепции построения понимания;Я не ожидаю решения, получаемого с помощью ложки, и предпочел бы, чтобы вы помогли мне пройти через процесс мышления, чтобы я мог лучше заложить свои собственные основы для лучшего понимания списка в будущем!:)