python - 创建通过字典过滤的 'For Loop' 的最 pythonic 方法是什么?

标签 python dictionary list-comprehension

我希望通过包含轨道列表的字典(名为:歌曲)搜索并追加一个项目。但是,这本词典有多个级别和索引。这是我的代码:

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']]

关于python - 创建通过字典过滤的 'For Loop' 的最 pythonic 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55213019/

相关文章:

Python:嵌套列表中的第一个元素

list - 在 Haskell 中生成一组 bool 变量的所有组合

python - Pandas 中的菲尔娜

python可重置实例方法内存装饰器

python - 在python中捕获错误时如何使异常发生异常?

java - 如何以每个用户都有一组属性的方式拆分点上的字符串?

python - 使用 NumPy 对大型数组进行多次采样的有效方法?

python - 使用 .index ("")作为 python 中的嵌套列表

python - 字符串到具有多个键值的字典

c++ - 在 C++ 应用程序的使用中需要对数组、 vector 和映射进行说明