Python代码值重复打印问题:首次URL计数输出两次
问题解决:Python代码重复打印首次URL行数的问题
问题原因
你的代码在每次循环迭代中都会同时打印当前URL的行数和字典中所有行数的总和。第一次循环时,字典里只有第一个URL的4行数据,所以打印完lengthers(4)后,又打印了sum(entry_dict.values())(同样是4);第二次循环打印lengthers(2)后打印总和(6),最终导致第一个数字重复输出。
修正后的代码
将总和的打印语句移到循环外部,仅在循环内打印单个URL的行数,循环结束后再统一打印总和:
import requests def count_blocklist_entries(): urls = ['https://rad.net/Easylist.txt', 'https://rad.net/Admiral.txt'] entry_dict = {} for url in urls: response = requests.get(url) lengthers = len(response.text.splitlines()) entry_dict.update({url: lengthers}) print(lengthers) # 循环结束后打印所有URL的行数总和 print(sum(entry_dict.values())) count_blocklist_entries()
运行结果
修正后代码的输出与期望一致:
4 2 6
内容的提问来源于stack exchange,提问作者uncrayon
相关产品推荐
相关产品推荐

