使用列表推导与 for 循环递增变量时获得不同的结果
counter = 0
counter2 = 0
counter3 = 0
Items_lst = os.listdir()
lst = [i for i in Items_lst if os.path.isfile(i) and i != os.path.basename(__file__)]
for i in lst:
counter += os.path.getsize(i)
counter2 = sum([os.path.getsize(i) for i in lst])
[counter3 := os.path.getsize(i) for i in lst]
print(counter)
print(counter2)
print(counter3)
输出:
5678203604 # counter
5678203604 # counter2
5421459456 # counter3
这里发生了什么?!!具体是:=做什么的??