Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First via chain from itertools solution in Clear category for Swap Nodes by Molot
from itertools import chain
def swap_nodes(a):
odd = a[::2]
even = a[1::2]
end = [a[-1]] if (len(a) % 2) else []
return list(chain(*zip(even, odd))) + end
if __name__ == '__main__':
print("Example:")
print(list(swap_nodes([1, 2, 3, 4])))
# These "asserts" are used for self-checking and not for an auto-testing
assert list(swap_nodes([1, 2, 3, 4])) == [2, 1, 4, 3]
assert list(swap_nodes([5, 5, 5, 5])) == [5, 5, 5, 5]
assert list(swap_nodes([1, 2, 3])) == [2, 1, 3]
assert list(swap_nodes([3])) == [3]
assert list(swap_nodes(["hello", "world"])) == ["world", "hello"]
print("Coding complete? Click 'Check' to earn cool rewards!")
March 17, 2019
Comments: