2015-04-16 2 views
2

Я просто попытался показать «,» между каждыми 3 символами!Добавление «,» после 3 символов назад

Я пробовал с:

players = ','.join([player[i:i+3] for i in range(0, len(player), 3)]) 
rankedplayers = ','.join([ranked[i:i+3] for i in range(0, len(ranked), 3)]) 
points = ','.join([totalpoints[i:i+3] for i in range(0, len(totalpoints), 3)]) 

Но начинается только с левой стороны направо, как я могу сделать это со спины так справа налево?

Edit:

Например

player = 9502 
ranked = 2040 
totalpoints = 12390 

И выход был бы:

player 950,2 
ranked 204,0 
totalpoints = 123,90 

Оно должно быть:

player = 9,502 
ranked = 2,040 
totalpoints = 12,390 
+2

Можете ли вы дать нас некоторый ввод проб и ожидаемый результат? –

+0

@MartijnPieters Отредактировано! Спасибо – Fragkiller

+0

Я предложил способ для этого здесь http://stackoverflow.com/a/29584257/4481312 вы можете просто приспособить его к своему коду, если хотите. @ Ответ Эрана лучше :) – marmeladze

ответ

2

Это regex делает именно то, что вам Необходимость:

(/(\d)(?=(?:\d{3})+$)/g, '$1,')

Лучше всего использовать с методом replace.

3

вы можете полностью изменить диапазон, чтобы пойти с другой стороны, вот так:

player = ','.join([player[i:i+3] for i in reversed(range(0, len(player), 3))]) 

но для группирования чисел с запятыми, что вы действительно хотите сделать это:

player = "{:,}".format(int(player)) 
Смежные вопросы