Como remover zeros à esquerda e à direita de uma string? Python

Eu tenho várias seqüências alfanuméricas como estas

listOfNum = ['000231512-n','1209123100000-n00000','alphanumeric0000', '000alphanumeric']

A saída desejada para removerà direita zeros seria:

listOfNum = ['000231512-n','1209123100000-n','alphanumeric', '000alphanumeric']

A saída desejada paraconduzindo zeros à direita seriam:

listOfNum = ['231512-n','1209123100000-n00000','alphanumeric0000', 'alphanumeric']

A saída desejada para remover os zeros à esquerda e à direita seria:

listOfNum = ['231512-n','1209123100000-n00000','alphanumeric0000', 'alphanumeric']

Por enquanto eu tenho feito isso da seguinte maneira, por favor sugira uma maneira melhor se houver:

listOfNum = ['000231512-n','1209123100000-n00000','alphanumeric0000', \
'000alphanumeric']
trailingremoved = []
leadingremoved = []
bothremoved = []

# Remove trailing
for i in listOfNum:
  while i[-1] == "0":
    i = i[:-1]
  trailingremoved.append(i)

# Remove leading
for i in listOfNum:
  while i[0] == "0":
    i = i[1:]
  leadingremoved.append(i)

# Remove both
for i in listOfNum:
  while i[0] == "0":
    i = i[1:]
  while i[-1] == "0":
    i = i[:-1]
  bothremoved.append(i)

questionAnswers(5)

yourAnswerToTheQuestion