【发布时间】:2022-01-22 03:30:03
【问题描述】:
长话短说。谁能给我解释一下这是怎么回事,简单的代码行就可以和我写的所有 for 循环一样吗?
def z1(code1, code2):
parse = lambda x: int(x.replace('-', ''))
code1, code2 = parse(code1), parse(code2)
print(code1, code2)
return ["%02d-%03d" % divmod(x, 1000) for x in range(code1, code2+1)] <---
这是我的解决方案:
def z2(code1, code2):
codes = []
parse = lambda x: int(x.replace('-', ''))
code1, code2= parse(code1), parse(code2)
for x in range(code1, code2+1):
x = str(x)
a = x[0:2]
b = x[2:6]
c = a+"-"+b
codes.append(f"{c}")
return codes
【问题讨论】:
-
尝试
"%02d-%03d" % divmod(x, 1000)并将其与x = 312 和x = 123456 的逻辑进行比较。特别检查divmod的作用。 -
@luk2302 好的,我有点明白,但是你能不能这么好心,一步一步给我解释一下?
标签: python string lambda formatting