Python|构造 N 范围等长字符串列表
有时,在使用Python时,我们可能会遇到需要构建一个包含 N 个范围数字的字符串列表的问题。但是我们有要求,我们需要保持每个元素的长度相等。让我们讨论可以执行此任务的某些方式。
方法 #1:使用列表推导 + zfill()
上述功能的组合可用于执行此任务。在此,我们使用列表推导执行添加数字的任务,并且 zfill() 负责处理每个字符串所需的长度。
# Python3 code to demonstrate working of
# Construct N Range Equilength String list
# using list comprehension + zfill()
# initialize N
N = 6
# printing N
print("Number of elements required : " + str(N))
# initialize K
K = 3
# Construct N Range Equilength String list
# using list comprehension + zfill()
res = [str(ele).zfill(K) for ele in range(N)]
# printing result
print("K Length range strings list : " + str(res))
输出 :
Number of elements required : 6
K Length range strings list : ['000', '001', '002', '003', '004', '005']
方法 #2:使用map()
+字符串格式化
也可以使用上述功能执行此任务。在此,我们使用字符串格式化来扩展长度的逻辑。并用于构建 N 范围。
# Python3 code to demonstrate working of
# Construct N Range Equilength String list
# using map() + string formatting
# initialize N
N = 6
# printing N
print("Number of elements required : " + str(N))
# initialize K
K = 3
# Construct N Range Equilength String list
# using map() + string formatting
temp = '{:0' + str(K) + '}'
res = list(map(temp.format, range(N)))
# printing result
print("K Length range strings list : " + str(res))
输出 :
Number of elements required : 6
K Length range strings list : ['000', '001', '002', '003', '004', '005']