Как удалить предыдущие нули в элементе string из списка Python

#python

#python

Вопрос:

У меня есть список:

 my_list = ['0300', '0023', '0005', '000030']
  

Я хочу удалить предыдущие нули в каждом элементе string из списка. Итак, я хочу удалить 0 с левой стороны строки.

Вывод будет выглядеть следующим образом:

 my_list = ['300', '23', '5', '30']
  

Я пробовал это:

 for x in my_list:
    x = re.sub(r'^0 ', "", x) 
    print my_list
  

Но, похоже, это не работает. Пожалуйста, помогите!

Комментарии:

1. l = [a.lstrip("0") for a in l]

Ответ №1:

Вы можете использовать str.lstrip следующим образом

 print [item.lstrip('0') for item in l]
# ['300', '23', '5', '30']
  

Комментарии:

1. Работает как шарм.. Большое вам спасибо! 🙂

Ответ №2:

Попробуйте:

 list = [str(int(el)) for el in list]
  

Редактировать: выберите другой ответ, я бы тоже предпочел его 🙂

Комментарии:

1. Нет, этого не произойдет, я только что протестировал это. Однако другое решение является лучшим: P. То, о чем вы думаете, — это восьмеричные литералы. Примеры: int(‘0300’) дает 300, int(0300) дает 192, int(0x300) дает 768. Кавычки имеют все значение.