Добавление пробелов или нулей в строку

#python #python-2.7

#python #python-2.7

Вопрос:

У меня путаница в отношении использования .format(x) метода. Я читал из разных статей о его использовании в разных условиях. но я все еще не понимаю использования

  1. из ‘0’ после ‘:’ в следующем коде. т.е. часть 0> в фигурных скобках.

  2. Одинаково ли обрабатываются пробелы и нули при применении format() к строке?

Я новичок в python. Поэтому, пожалуйста, помогите и извините, если это звучит глупо.

df['tm'] = df['tm'].apply(lambda x:'{0:0>4}'.format(x))

Я получаю правильные результаты. Мне просто нужно подробно понять, что делает метод format вместе с материалом внутри {} .

Ответ №1:

0 справа — это количество мест, в которые нужно перейти, 0 слева — это количество пробелов, которые нужно использовать. Помните, что вам не нужен lambda , и это zfill() более выразительно показывает, что он делает.

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

 df['ID'] = df['ID'].str.zfill(15)
  

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

1. Просто для того, чтобы четко указать, что лямбда не требуется: df['tm'] = df['tm'].apply('{0:0>4}'.format)

2. Итак, я понимаю, что ‘0: 0> 4’, где 0 после ‘:’ — это символ заполнения, а общее количество пробелов равно 4, включая существующие символы добавленные.

3. Да, я обычно нахожу что-то вроде '[{:6.6f}]'.format(x,y) или f'{x:{y}{z}}.' проще для округления