python-3.x - 在 Python 中格式化
问题描述
我有一个值列表如下:
no column
1. 111-222-11
2. 112-333-12
3. 113-444-13
我想将值从111-222-11
to111-222-011
格式化并类似地格式化其他值。这是我在 Python 3 中的代码片段,我正在尝试使用它:
‘{:03}-{:06}-{:03}.format(column)
我希望你能提供帮助。
解决方案
假设这column
是一个可以分配字符串值111-222-11
,112-333-12
等的变量113-444-13
,您希望将其更改为111-222-011
,112-333-012
等113-444-013
,看来您尝试使用切片表示法和format
方法的组合来实现此目的。
切片符号
切片符号在应用于字符串时,将其视为由字符组成的类似列表的对象。字符串开头的字符的位置索引从零开始。字符串末尾字符的位置索引以-1
. 第一个冒号:
分隔切片的开头和结尾。与开头不同,切片的结尾不包含在其中。您可以像使用方括号来指示列表中项目的索引一样指示切片:
'111-222-11'[0:8]
会回来
'111-222-'
通常,字符串的第一个和最后一个字符的索引被跳过并由冒号暗示。
知道需要在分配给的字符串的最后两位数字之前添加前导零的确切位置column
,您可以使用切片符号来完成:
column[:8] + '0' + column[-2:]
format
方法
该format
方法是一种字符串格式化方法。因此,在将方法应用于字符串时,您希望在字符串周围使用单引号或双引号来指示它们:
'your output string here'.format('your input string here')
大括号中的数字不是切片。它们是占位符,其中format
插入传递给方法的字符串。因此,结合切片和format
方法,您可以在字符串的最后两位数字之前添加前导零,column
如下所示:
'{0}0{1}'.format(column[:8], column[-2:])
不需要制作更多的切片,因为您只想在一个地方插入一个字符。
split
方法
切片的替代split
方法是使用通过分隔符拆分字符串的方法。该split
方法返回一个字符串列表。*
在将参数传递给format
方法之前,您需要在它前面加上运算符以解压缩列表中的参数。否则,整个列表将传递给第一个占位符。
'{0}-{1}-0{2}'.format(*column.split('-'))
它将字符串拆分为一个列表,将其-
视为分隔符,并将每个项目放入一个新字符串中,该字符串0
在最后一个之前添加字符。
推荐阅读
- arrays - 为具有 JSON 数组值的 jsonb 列创建 Postgres 索引
- twitter-bootstrap - 在 scss 中导入引导程序会使任务变慢
- woocommerce - 使用电子邮件 ID 创建帐户 woocomerce
- powershell - Powershell v5.1:从共享服务器复制到远程 PC 上的本地文件夹
- r - R函数中的NaN值
- django - Django - 表单不验证
- office-js - 是否可以等到当前方法的执行完成
- django - 一个字段的多个外键
- javascript - Javascript - 从包含增值税的价格中保存不含增值税的价格时的圆形问题
- react-native - 通过 expo 应用程序打开我的 react native 项目