В Python у меня есть два списка, которые имеют одинаковое количество элементов (например, 8 и 8) или одно меньше другого (например, 7 и 8; 3 и 4):Переключить первый и последний элементы из двух списков в Python
list1 = ['A', 'B', 'C', 'D']
list2 = ['E', 'F', 'G', 'H']
или
list3 = ['A', 'B', 'C']
list4 = ['D', 'E', 'F', 'G']
Я пытаюсь выяснить, лучший способ построить алгоритм, который будет переключать последнюю половину первого списка с первой половиной прошлого списка, в результате чего это, когда оба списка имеют четное число элементов:
switched_list1 = ['A', 'B', 'E', 'F']
switched_list2 = ['C', 'D', 'G', 'H']
... и это, когда один из списков имеет нечетное число:
switched_list3 = ['A', 'D', 'E']
switched_list4 = ['B', 'C', 'F', 'G']
Какой самый эффективный способ построения алгоритма, который может переключаться элементы списка, как это?
@ Марцин Я думаю, вы хотите http://philosophy.stackexchange.com/ для ответов на этот вопрос; для целей этого вопроса не имеет значения, является ли и/или почему это проблематично. – urschrei
@urschrei, поскольку OP не дает даже очевидного способа кодирования этого как начала, и поскольку OP уже имеет хорошую репутацию, я понимаю, что Марцин задается вопросом, есть ли что-то скрытое в этом вопросе. – joaquin
Извините, я не сделал проблематичность более ясной. Вероятно, мне следовало бы отметить это как Pythonic и объяснил это немного лучше. Проблема в том, что я пытался найти более быстрый и эффективный способ переключения позиций вместо использования временных переменных, таких как ответ joaquin. Я сделал что-то подобное, но был расстроен тем, сколько строк кода он принял. Следовательно, проблема (к сожалению неустановленная) ... :( – Andrew