Jak usunąć początkowe i końcowe zera w ciągu? Pyton

Mam kilka takich ciągów alfanumerycznych

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

Żądane wyjście do usunięciaciągnięcie zerami byłyby:

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

Żądane wyjście dlaprowadzący końcowe zera byłyby:

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

Wyjściem pożądanym w usuwaniu zer wiodących i końcowych byłyby:

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

Na razie robię to w następujący sposób, proszę zaproponować lepszy sposób, jeśli jest:

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