Python如何打印字典内嵌套集合的元素(无冗余符号保留逗号分隔)
原写法失效原因
对字典直接执行x, y, z=flightterminals解包,拿到的是字典的所有键值,也就是三个Terminal X格式的字符串,全程没有访问到每个键对应的嵌套集合,自然无法输出集合内部的内容。
实现方案
核心逻辑分为两步:
- 遍历字典时直接获取每个键对应的嵌套集合值,跳过无意义的键内容
- 对集合内的元素做格式拼接,去掉集合自带的大括号,统一用逗号加空格作为元素分隔符,逐行打印
flightterminals={"Terminal 1":{"1", "2", "3"},"Terminal 2":{"1", "2", "3"}, "Terminal 3":{"1", "2", "3"}} for terminal_set in flightterminals.values(): # sorted() 规避Python集合的无序特性,保证输出顺序稳定匹配示例 print(", ".join(sorted(terminal_set)))
运行后输出完全符合要求:
1, 2, 3 1, 2, 3 1, 2, 3
注意:Python原生集合是哈希存储的无序结构,如果不做排序处理,可能随机输出
2, 1, 3这类顺序错乱的结果,若对输出顺序没有硬性要求,可直接去掉sorted()函数简化代码。
内容的提问来源于stack exchange,提问作者stanleyy
相关产品推荐
相关产品推荐

