2016-11-17 1 views
1

은 내가특정 크기 기반 변수에서 문자열 서식을 사용하는 방법은 무엇입니까?

"%2d"%(x) 

를 사용할 때 나는 2의 최소 크기가 X의 문자열을 얻을 것이라는 점을 알고, x의 길이가 2보다 짧은 경우에 나는 그것을하기 전에 공간을 얻을 것이다. 그러나 어떻게 2를 변수로 사용할 수 있습니까? 예를 들어 :

"%nd"%(2,1) 
' 1' 

는 파이썬으로 할 수 있습니까? 또는 루프를 만들 필요가 있습니까?

+3

'% * D '%는 (N, X)' – vaultah

+0

@vaultah 옳은 동작한다. 그것은 나를 위해 일하고있다. –

+0

FWIW 새 형식이 Python 2.7에서 작동해야합니다. ''{:> {}} '형식 (x, n)' – Billy

답변

1

사용 * 실제 폭은 값의 튜플의 다음 요소에서 읽을되고, 변환 값 다음 하나가 될 것입니다 :

>>> "%*d" % (2, 1) 
' 1' 

이 문서의 String Formatting Operations 절에 설명되어 있습니다 - 그것은 말합니다 :

  1. 최소 필드 폭 (옵션). '*' (별표)로 지정하면 실제 너비는 값의 튜플의 다음 요소에서 읽히고 변환 할 개체는 최소 필드 너비와 선택적 정밀도 뒤에옵니다.
+0

대단히 감사합니다! 이것은 @vaultah가이 작품에 대해 언급 한 내용입니다! –

1

당신은 새로운 스타일 서식 더 자세한로 선택할 수 있습니다 :

>>> '{:{width}d}'.format(1, width=2) 
' 1' 
+0

새 스타일의 팬이 아니지만 작동합니다. –

+2

@guy : 실제로 새 스타일은 약간입니다. 더 강력하고 (쉽게, 일단 당신이 그것의 교수형에 처하는), 그래서 나는 당신이 그것을 잡을 시간을 갖거나 만들 것을 제안한다. – martineau

관련 문제