python-3.x - 列出具有相同宽度的值
问题描述
我有一个关于 int 类型的 Python 列表:
list1 = [1, 2, 3, 4, 10, 100]
我需要获取上述列表值的另一个列表,但宽度相等,例如:
list2 = ['001', '002', '003', '004', '010', '100']
我可以通过循环遍历list1
值、将它们转换为字符串、找到它们的长度并在值前面附加 0 来做到这一点,但这是一个有点长的过程,有没有更好的方法来做到这一点?
解决方案
利用str.zfill
前任:
list1 = [1, 2, 3, 4, 10, 100]
l = len(str(max(list1))) #Get max width
result = [str(i).zfill(l) for i in list1]
print(result)
输出:
['001', '002', '003', '004', '010', '100']
推荐阅读
- java - 记录 Java 输出
- ios - Swift - 如何获取 .Mov 格式?
- php - 如何通过一键单击在一个表单提交中调用两个操作?
- c - 使用 malloc 给了我比预期更多的内存?
- python - 如何将数字舍入到 10、100、1000、10000、100000
- r - 你可以在 R 中聚合多个不同的 LHS 变量吗?
- javascript - 在 Google Maps API 上实现地形图图块
- minikube - minikube / kvm2 的问题
- amazon-web-services - 为什么 IO 99.99 % 即使磁盘读写看起来很小
- npm - 一段时间后,我的 npm 模块似乎部分消失了