python - 如何循环将项目添加到列表中?
问题描述
如何循环将项目添加到“列表”?
url = 'https://api.com/api/v1/products?app_id=web02'
response = requests.get(url).json()
items = response['data']
iter1 = []
for item in items:
iter1.append({
'name': item.get('name', 'NA'),
'owner': item.get('owner', 'NA'),
'date_published': item.get('date_published', 'NA'),
'images': item.get('images', 'NA'),
'short_url': item.get('short_url', 'NA')
})
list = []
for list in iter1:
result = {}
result["name"] = iter1[0]["name"]
result["user"] = iter1[1]["owner"]["name"]
result["date_published"] = datetime.utcfromtimestamp(iter1[0]["date_published"]).strftime('%Y-%m-%d %H:%M:%S')
result["url"] = []
result["short_url"] = iter1[0]["short_url"]
for img in iter1[0]["images"]:
result["url"].append(img["url"])
print(json.dumps(result, indent=4, ensure_ascii=False))
现在我总是在“结果”变量中只有一个处理过的较早块。
解决方案
我认为你的代码是错误的。
list = []
for list in iter1:
然后你用 isiter1
代替list
result = {}
result["name"] = iter1[0]["name"]
尽量不要使用list
,因为它是一个保留输入的list
类
Python 3.9.2 | packaged by conda-forge | (default, Feb 21 2021, 05:00:30)
[Clang 11.0.1 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> list
<class 'list'>
>>> []
[]
>>> type([])
<class 'list'>
>>>
推荐阅读
- c# - 要写入的大量数据适用于旧版 Windows Server 2003,但不适用于 Windows Server 2008
- c# - EF Core - 一个 sql 请求中的多个计数
- node.js - 如何使用node.js从influxdb实时显示网页上的数据
- javascript - 无法在 chrome 开发工具中运行修改后的 js 代码
- python - 试图找出一种方法来使用 3x3 矩阵比较 9x9 矩阵中的数字
- python - 检测srt文件的编码并改变它
- google-analytics - 如何将 Google 的全局站点标签与子资源完整性结合起来?
- ruby-on-rails - 在 Rails API 中处理非 REST 逻辑
- maven - Maven 异常“无法解析插件 org.apache.maven.plugins:maven-surefire-plugin:2.12.4 或其依赖项之一”
- python - 命令引发异常:OpusNotLoaded: