我刚刚开始使用python.有人可以解释以下代码片段的第2行吗?我不明白这`num`一点.我试图用一个刻度替换反引号字符',但随后它就破了.只要详细解释这条线就会很棒.
loop_count = 1000000
irn = ''.join([`num` for num in range(loop_count)])
number = int(irn[1]) * int(irn[10]) * int(irn[100]) * int(irn[1000]) * int(irn[10000]) * int(irn[100000]) * int(irn[1000000])
print number
Run Code Online (Sandbox Code Playgroud)
And*_*ark 10
反引号是repr()内置函数的弃用别名,因此第二行等效于以下内容:
irn = ''.join([repr(num) for num in range(loop_count)])
Run Code Online (Sandbox Code Playgroud)
这使用列表推导来创建表示数字的字符串列表,然后用于''.join()将该字符串列表组合成单个字符串,因此这等效于以下内容:
irn = ''
for num in range(loop_count):
irn += repr(num)
Run Code Online (Sandbox Code Playgroud)
请注意,我repr()在这里使用与反引号一致,但您通常会看到str(num)获取int的字符串表示(它们碰巧是等效的).