Python 具有特定位数的数字范围

标签 python list

我正在创建一个从 1 到 X 的数字列表(其中 X >100)。我知道 range 函数非常适合这个。我最终将使用此列表来开发一个字符串列表,并在每个数字的末尾附加一个字符串(即“.pdf”)。但是,当我这样做时,我想确保每个“数字”总共有三位数字。例如,我想要“005”而不是“5”,最终列表中的结果字符串将是“005.pdf”(即数字“005”附加到字符串“.pdf”)。

我只需将“00”添加到每个字符串的开头,但这对于两位整数(需要添加一个“0”)或三位数整数(不需要任何附加“0”)。

有没有一种有效的方法可以做到这一点,而无需手动迭代 1-9 和 10-99 来纠正位数?

谢谢!

示例代码:

string=".pdf"
max_num=500
numrange = range(1,max_num)
final_list = [str(x) + string for x in numrange]

最佳答案

您可以使用str.format添加前导零。例如:

out = ["{:03d}.pdf".format(n) for n in range(200)]
print(out)

打印:

['000.pdf', '001.pdf', '002.pdf', '003.pdf', '004.pdf', '005.pdf', '006.pdf', '007.pdf', '008.pdf', '009.pdf', '010.pdf', '011.pdf', '012.pdf', '013.pdf', '014.pdf', '015.pdf', '016.pdf', '017.pdf', '018.pdf', '019.pdf', '020.pdf', '021.pdf', '022.pdf', '023.pdf', '024.pdf', '025.pdf', '026.pdf', '027.pdf', '028.pdf', '029.pdf', '030.pdf', '031.pdf', '032.pdf', '033.pdf', '034.pdf', '035.pdf', '036.pdf', '037.pdf', '038.pdf', '039.pdf', '040.pdf', '041.pdf', '042.pdf', '043.pdf', '044.pdf', '045.pdf', '046.pdf', '047.pdf', '048.pdf', '049.pdf', '050.pdf', '051.pdf', '052.pdf', '053.pdf', '054.pdf', '055.pdf', '056.pdf', '057.pdf', '058.pdf', '059.pdf', '060.pdf', '061.pdf', '062.pdf', '063.pdf', '064.pdf', '065.pdf', '066.pdf', '067.pdf', '068.pdf', '069.pdf', '070.pdf', '071.pdf', '072.pdf', '073.pdf', '074.pdf', '075.pdf', '076.pdf', '077.pdf', '078.pdf', '079.pdf', '080.pdf', '081.pdf', '082.pdf', '083.pdf', '084.pdf', '085.pdf', '086.pdf', '087.pdf', '088.pdf', '089.pdf', '090.pdf', '091.pdf', '092.pdf', '093.pdf', '094.pdf', '095.pdf', '096.pdf', '097.pdf', '098.pdf', '099.pdf', '100.pdf', '101.pdf', '102.pdf', '103.pdf', '104.pdf', '105.pdf', '106.pdf', '107.pdf', '108.pdf', '109.pdf', '110.pdf', '111.pdf', '112.pdf', '113.pdf', '114.pdf', '115.pdf', '116.pdf', '117.pdf', '118.pdf', '119.pdf', '120.pdf', '121.pdf', '122.pdf', '123.pdf', '124.pdf', '125.pdf', '126.pdf', '127.pdf', '128.pdf', '129.pdf', '130.pdf', '131.pdf', '132.pdf', '133.pdf', '134.pdf', '135.pdf', '136.pdf', '137.pdf', '138.pdf', '139.pdf', '140.pdf', '141.pdf', '142.pdf', '143.pdf', '144.pdf', '145.pdf', '146.pdf', '147.pdf', '148.pdf', '149.pdf', '150.pdf', '151.pdf', '152.pdf', '153.pdf', '154.pdf', '155.pdf', '156.pdf', '157.pdf', '158.pdf', '159.pdf', '160.pdf', '161.pdf', '162.pdf', '163.pdf', '164.pdf', '165.pdf', '166.pdf', '167.pdf', '168.pdf', '169.pdf', '170.pdf', '171.pdf', '172.pdf', '173.pdf', '174.pdf', '175.pdf', '176.pdf', '177.pdf', '178.pdf', '179.pdf', '180.pdf', '181.pdf', '182.pdf', '183.pdf', '184.pdf', '185.pdf', '186.pdf', '187.pdf', '188.pdf', '189.pdf', '190.pdf', '191.pdf', '192.pdf', '193.pdf', '194.pdf', '195.pdf', '196.pdf', '197.pdf', '198.pdf', '199.pdf']

关于Python 具有特定位数的数字范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68041629/

相关文章:

python - 做出开发网络抓取模块的Python式决定

C# 通过字符串而不是整数引用集合中的对象

java - 有没有办法获得数组中元素出现的最高次数?

python - Python 中的列表(使用 NLTK)

python - 为什么不使用 "is"比较来代替原始类型的 "=="?

python - QTreeWidget双击展开动画

python - 更改 OS X 中的 $PATH 以运行最新版本的 Python

python - 使用 Pandas 将 2 个字典列表与公共(public)元素合并

java - 在Java中将链表添加到另一个链表的末尾

string - SML - 在列表中查找元素并替换它