def get_diagonal_and_non_diagonal(L):
'''(list of list of int) -> tuple of (list of int, list of int)
Return a tuple where the first item is a list of the values on the
diagonal of square nested list L and the second item is a list of the rest
of the values in L.
>>> get_diagonal_and_non_diagonal([[1, 3, 5], [2, 4, 5], [4, 0, 8]])
([1, 4, 8], [3, 5, 2, 5, 4, 0])
'''
diagonal = []
non_diagonal = []
for row in range(len(L)):
for col in range(len(L)):
if row == col:
diagonal.append(L[row][col])
non_diagonal.append(L[row][col])
return (diagonal, non_diagonal)
print(get_diagonal_and_non_diagonal([[1, 3, 5], [2, 4, 5], [4, 0, 8]]))
ZGVmIGdldF9kaWFnb25hbF9hbmRfbm9uX2RpYWdvbmFsKEwpOgogICAgJycnKGxpc3Qgb2YgbGlzdCBvZiBpbnQpIC0+IHR1cGxlIG9mIChsaXN0IG9mIGludCwgbGlzdCBvZiBpbnQpCgogICAgUmV0dXJuIGEgdHVwbGUgd2hlcmUgdGhlIGZpcnN0IGl0ZW0gaXMgYSBsaXN0IG9mIHRoZSB2YWx1ZXMgb24gdGhlCiAgICBkaWFnb25hbCBvZiBzcXVhcmUgbmVzdGVkIGxpc3QgTCBhbmQgdGhlIHNlY29uZCBpdGVtIGlzIGEgbGlzdCBvZiB0aGUgcmVzdAogICAgb2YgdGhlIHZhbHVlcyBpbiBMLgoKICAgID4+PiBnZXRfZGlhZ29uYWxfYW5kX25vbl9kaWFnb25hbChbWzEsICAzLCAgNV0sIFsyLCAgNCwgIDVdLCBbNCwgIDAsICA4XV0pCiAgICAoWzEsIDQsIDhdLCBbMywgNSwgMiwgNSwgNCwgMF0pCiAgICAnJycKCiAgICBkaWFnb25hbCA9IFtdCiAgICBub25fZGlhZ29uYWwgPSBbXQogICAgZm9yIHJvdyBpbiByYW5nZShsZW4oTCkpOgogICAgICAgIGZvciBjb2wgaW4gcmFuZ2UobGVuKEwpKToKCiAgICAgICAgICAgIGlmIHJvdyA9PSBjb2w6CiAgICAgICAgICAgICAgICBkaWFnb25hbC5hcHBlbmQoTFtyb3ddW2NvbF0pCgogICAgICAgICAgICBub25fZGlhZ29uYWwuYXBwZW5kKExbcm93XVtjb2xdKQoKICAgIHJldHVybiAoZGlhZ29uYWwsIG5vbl9kaWFnb25hbCkKCgpwcmludChnZXRfZGlhZ29uYWxfYW5kX25vbl9kaWFnb25hbChbWzEsICAzLCAgNV0sIFsyLCAgNCwgIDVdLCBbNCwgIDAsICA4XV0pKSA=