gpt4 book ai didi

python - 为什么我得到一个生成器对象而不是一个整数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:58 25 4
gpt4 key购买 nike

我正在使用 requestsbs4 从网站解析一些 XML:

import requests
from bs4 import BeautifulSoup as bs

r = requests.get("http://xml.skiddlecdn.co.uk/xml/affiliates/topsellers.xml")

if r.status_code == 200:
data = bs(r.text, 'xml')
raw_dates = data.find_all('date')
dates = [date.string for date in raw_dates]
for date in sorted(dates):
print("{}. {}".format(i for i in range(1, len(dates))), date))
else:
r.raise_for_status()

我的预期结果:

1. 2017-01-17
2. 2017-01-20
3. 2017-01-20
# etc...

我的实际结果:

<generator object <genexpr> at 0x06022B70>. 2017-01-17
<generator object <genexpr> at 0x06022B70>. 2017-01-20
<generator object <genexpr> at 0x06022B70>. 2017-01-20
# etc...

为什么?

最佳答案

它打印一个生成器,因为你传递给它一个生成器。我假设您只想显示带有索引值的日期。为什么不使用 enumerate 代替?

for i, date in enumerate(sorted(dates), 1):
print("{}. {}".format(i, date))

关于python - 为什么我得到一个生成器对象而不是一个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49130624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com