Как мне вернуть модифицируемую псевдоним Python-функцию? - PullRequest
0 голосов
/ 04 мая 2018

Итак, у меня есть 4-мерный массив и действительно простая функция, помогающая захватывать элементы из указанного массива.

Board=[[
[['K','D','S']  ,  ['T','R','T'] ,  ['X','B','R']],
[['P','P','P']  ,  ['P','P','P'] ,  ['P','P','P']],
[['0','0','0']  ,  ['0','0','0'] ,  ['0','0','0']] 
],[
[['0','0','0']  ,  ['0','0','0'] ,  ['0','0','0']],
[['0','0','0']  ,  ['0','0','0'] ,  ['0','0','0']],
[['0','0','0']  ,  ['0','0','0'] ,  ['0','0','0']] 
],[
[['0','0','0']  ,  ['0','0','0'] ,  ['0','0','0']],
[['p','p','p']  ,  ['p','p','p'] ,  ['p','p','p']],
[['j','r','x']  ,  ['t','r','t'] ,  ['s','d','d']]
]]
def GrabAPeice(title):
    BigLet={'A':0,'B':1,'C':2,'D':3,'E':4}
    SmallLet={'a':0,'b':1,'c':2,'d':3,'e':4}
    BigNum={'5':0,'4':1,'3':2,'2':3,'1':4}
    SmallNum={'5':0,'4':1,'3':2,'2':3,'1':4}
    return Board[BigNum[title[2]]][SmallNum[title[4]]][BigLet[title[0]]][SmallLet[title[1]]]

Где title будет что-то вроде 'Aa1: 2' соответственно

Единственная проблема, когда я пытаюсь использовать функцию для назначения,

GrabAPeice('Bb2:2')='Q' это не позволяет мне присвоить значение.

Возможно ли, чтобы функция возвращала ссылку или псевдоним другому объекту в python?

Я знаю о функциях get и set и действительно не буду их использовать.

...