Python列表推导式赋值未得到预期嵌套二维列表,该如何修改?
嵌套列表推导式实现方案
你当前使用的单层双循环列表推导式会将所有计算结果扁平化输出为一维列表,想要得到预期的二维嵌套结构,需要调整为嵌套结构的列表推导式:
正确代码实现
coords = [['60', '01'], ['30', '19']] coords = [[int(coord[j]) / 60 ** j for j in range(len(coord))] for coord in coords]
逻辑说明
- 外层推导式遍历原始
coords中的每一个子坐标组coord,每轮遍历都会生成一个新的子列表作为结果列表的元素 - 内层推导式负责处理当前子坐标组内的每一个元素,按规则计算出对应的浮点数值,组成对应子列表
运行上述代码后输出结果和预期完全一致:
[[60.0, 0.016666666666666666], [30.0, 0.31666666666666665]]
内容的提问来源于stack exchange,提问作者Evgeniy Pozdnyakov
相关产品推荐
相关产品推荐

