python - 创建通过字典过滤的“For循环”的最pythonic方法是什么?
问题描述
我正在寻找然后通过包含曲目列表的字典(名为:歌曲)附加一个项目。但是,这本词典有多个级别和索引。这是我的代码:
artists = []
for i in range(len(songs['tracks'])):
artist.append(songs['tracks'][i]['artists'][0]['name'])
有没有更 Pythonic 的方式来编写这段代码?我觉得使用
in range(len(songs['tracks']))
并不是实现这一目标的最佳方式,但它确实可以完成这项工作。
解决方案
与您的代码等效的一种解决方案可能是
artists = [track['artists'][0]['name'] for track in songs['tracks']]
推荐阅读
- http - 如何将 https 链接更改为 http heroku
- javascript - 为什么文档有 getElementById 方法,即使它不是从 Element 继承的?
- css - 如何在 React Native(FlatList)中删除我的卡之间的间距?
- typescript - 当我在终端中执行纱线构建(它调用 tsc)时出现错误并且在终端中执行 tsc 时没有错误?
- image-processing - Mask RCNN 只预测几个类别中的一种类别
- ios - 解析 GraphQL failure() 导致 Swift
- ios - 如何创建返回 NSLayoutConstraint 的函数
- postgresql - 我可以为 Tilda 中的表添加索引以提高性能吗?
- jquery - 在 WP 中使用 jQuery 从外部源更新内容
- windows - 禁用 Control+Shift,不包括与这些键相关的所有快捷键