"String Formatting最简单最漂亮的方法"
"String Formatting最简单最漂亮的方法"
这个问题已经有了答案:
我发现用我目前正在使用的语法格式化字符串需要相当多的注意力,时间和努力:
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日
你可能正在寻找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.' >>>