如何不使用循环打印字典嵌套列表中的指定time元素
无循环提取字典列表中的特定元素并格式化输出
你之前的代码报错是因为dict["data"]是列表类型,里面装着两个字典元素,不能直接用["time"]索引,得先定位到列表里的具体字典才行。
下面是两种无显式循环的实现方案:
方案1:列表推导式 + 字符串拼接(通用型)
用列表推导式提取所有time值,再通过join拼接成你要的格式,代码里看不到显式的for循环:
my_dict = { "data": [ { "id": "0", "song": "Song5", "time": 1660582745, "info": "he" }, { "id": "1", "song": "Song4", "time": 1660568345, "info": "heheheh" } ] } time_result = ", ".join(str(item["time"]) for item in my_dict["data"]) print(time_result)
运行输出:
1660582745, 1660568345
方案2:直接索引(仅适用于元素数量固定的场景)
如果data列表里的元素数量固定不变,也可以直接逐个索引提取值,然后格式化输出:
print(f"{my_dict['data'][0]['time']}, {my_dict['data'][1]['time']}")
这个方法输出结果一样,但扩展性差,要是列表里的元素数量变了,就得修改代码。
另外提醒下:别用dict当变量名,它是Python的内置类型名称,会覆盖内置功能,容易出问题。
内容的提问来源于stack exchange,提问作者Crypto
相关产品推荐
相关产品推荐

