gpt4 book ai didi

python - 迭代列表中每个项目的函数

转载 作者:太空宇宙 更新时间:2023-11-03 19:10:22 24 4
gpt4 key购买 nike

在这里,我创建了一个我想要通过函数运行的网站列表。

import requests

item_ids=[11732, 536]
url_template = 'http://www.grandexchangecentral.com/include/gecgraphjson.php?jsid=%r'
your_sites = []

for i in range(0, len(item_ids)):
result = url_template % item_ids[i]
your_sites.append(result)

棘手的部分(无论如何对我来说)是创建一个函数,该函数获取 your_sites 中的每个项目并通过该函数对其进行迭代。我考虑过使用某种 for 循环,但我不确定如何实现它,并认为无论如何可能有更有效的方法。这是我的尝试,它返回 TypeError: 'NoneType' object is not iterable

def data_grabber(): 
for i in range(0, len(your_sites)):
url = your_sites[i]
r = requests.get(url, headers={'Referer': 'www.grandexchangecentral.com'})
data = r.json
prices = [i[1] for i in data]

我希望它返回每个网站的价格,但我的努力只能得到错误和 None 值。任何帮助将不胜感激。

最佳答案

不要将 your_sites 设为全局变量,将其作为参数传递非常容易。您不需要为 for 循环提供显式索引,只需迭代您感兴趣的对象即可。当您确实需要显式索引时,请使用 enumerate()

def data_grabber(your_sites): 
for url in your_sites:
r = requests.get(url, headers={'Referer': 'www.grandexchangecentral.com'})
data = r.json # if r.json None the next line will fail
prices = [i[1] for i in data]

如果 r.json 没有,不确定您想要做什么。你可以尝试这样的事情

        data = r.json or []

关于python - 迭代列表中每个项目的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13169136/

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