"String Formatting最简单最漂亮的方法"

13 浏览
0 Comments

"String Formatting最简单最漂亮的方法"

这个问题已经有了答案

字符串格式化:%与.format与f-string文本

我发现用我目前正在使用的语法格式化字符串需要相当多的注意力,时间和努力:

myList=['one','two','three']
myString='The number %s is larger than %s but smaller than %s.'%(myList[1],myList[0],myList[2])

结果:

"The number two is larger than one but smaller than three"

奇怪的是,每次我按下%键,然后是s键时,我感到有点中断...

我想知道是否有其他方法实现类似的字符串格式化。 请发些示例。

admin 更改状态以发布 2023年5月23日
0
0 Comments

你可能正在寻找str.format,这是执行字符串格式化操作的新方式和首选方法:

>>> myList=['one','two','three']
>>> 'The number {1} is larger than {0} but smaller than {2}.'.format(*myList)
'The number two is larger than one but smaller than three.'
>>>

该方法的主要优点是,您可以通过简单地展开myList,而不是使用(myList [1],myList [0],myList [2])。然后,通过编号格式字段,您可以按照您想要的顺序放置子字符串。

请注意,如果myList已经按顺序排列,则不必为格式字段编号:

>>> myList=['two','one','three']
>>> 'The number {} is larger than {} but smaller than {}.'.format(*myList)
'The number two is larger than one but smaller than three.'
>>>

0