長話短說。有人可以向我解釋它是怎么回事,簡單的代碼行可以與我撰寫的所有 for 回圈做同樣的事情嗎?
def z1(code1, code2):
parse = lambda x: int(x.replace('-', ''))
code1, code2 = parse(code1), parse(code2)
print(code1, code2)
return ["d-d" % 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
uj5u.com熱心網友回復:
["d-d" % divmod(x, 1000) for x in range(code1, code2 1)]
這稱為串列理解,允許撰寫比創建空串列然后在回圈中追加更簡潔的代碼。考慮以下示例
squares = []
for i in range(5):
squares.append(i**2)
相當于
squares = [i**2 for i in range(5)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388746.html
下一篇:按字符位置串列拆分字串
