#python #python-2.7
#python #python-2.7
Вопрос:
У меня путаница в отношении использования .format(x)
метода. Я читал из разных статей о его использовании в разных условиях. но я все еще не понимаю использования
-
из ‘0’ после ‘:’ в следующем коде. т.е. часть
0>
в фигурных скобках. -
Одинаково ли обрабатываются пробелы и нули при применении
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}}.'
проще для округления