Verwenden Sie '{:,}'. Format ()
, um die Nummer 98765 in 98.765 zu ändern.
Es kann nur getrennt werden, wenn es sich um einen numerischen Wert (int) handelt. Wenn es sich um eine Zeichenfolge (str) handelt, tritt ein ValueError auf.
# python
>>> l=['12345',98765] #12345 ist eine Zeichenfolge, 98765 ist eine numerische Liste
>>>
>>> l
['12345', 98765]
>>>
>>> print(type(l[0])) #Typbestätigung
<type 'str'>
>>> print(type(l[1])) #Typbestätigung
<type 'int'>
>>>
>>> l[0] = '{:,}'.format(l[0]) #Beim Versuch, str-Typen zu trennen, tritt ein Fehler auf
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Cannot specify ',' with 's'.
>>>
>>> l[1] = '{:,}'.format(l[1]) #Es gibt kein Problem, wenn es sich um einen Int-Typ handelt
>>>
>>> l
['12345', '98,765']
>>>
>>> type(l[1]) #Nach dem Trennen wird es jedoch str anstelle von int.
<type 'str'>
>>>
>>> l[0] = '{:,}'.format(int(l[0])) #str-Typ ist int()verwenden
>>> l
['12,345', '98,765']
>>>
Ich habe versucht, F-String zu verwenden
>>> m
['12345', 98765]
>>>
>>>
>>> print(f'{m[0]:,}')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Cannot specify ',' with 's'.
>>>
>>>
>>> print(f'{int(m[0]):,}')
12,345
>>>
>>>
>>> print(f'{m[1]:,}')
98,765
Recommended Posts