簡體   English   中英

Python - 使用格式字符串長度變量而不是固定長度變量?

[英]Python - use format string length variable instead of fixed one?

例如我可以這樣做:

"%.2s" % ('aaa')
'aa'

或者

"%.1s" % ('aaa')
'a'

但是我怎樣才能讓那部分像.2變量,所以我可以傳遞任何數字,它會相應地格式化,就像我傳遞的東西一樣:

"%.%ss %" (1, 'aaa') # Pseudo code
'a'

將寬度指定為* ,實際寬度將從下一個位置參數獲取:

"%.*s" % (1, 'aaa')

str.format()方法仍然更加靈活,您可以插值任何參數,而不僅僅是寬度:

"{:.{width}s}".format('aaa', width=1)

演示:

>>> "%.*s" % (1, 'aaa')
'a'
>>> "%.*s" % (2, 'aaa')
'aa'
>>> "{:.{width}s}".format('aaa', width=1)
'a'
>>> "{:.{width}s}".format('aaa', width=2)
'aa'

額外的占位符可用於組成格式規范的任何元素:

>>> "{:{align}{width}s}".format('aaa', align='<', width=4)
'aaa '
>>> "{:{align}{width}s}".format('aaa', align='>', width=4)
' aaa'

使用格式如下:

>>> outputNumber=2
>>> '{:.{}}'.format('MyString', outputNumber)
'My'
>>> outputNumber=5
>>> '{:.{}}'.format('MyString', outputNumber)
'MyStr'
>>>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM