python缩放列表元素到另一个列表中的某些元素



我在Python中生成的以下列表质量近500 000:

    example_list = [height, width, [characteristics]]

高度,宽度和每个特征都是一个正数。

找到解决我问题的解决方案的第一步是比较列表的高度和宽度。如果它们相等或具有相同的比率,我将在此步骤中取得成功。我可以比较比率,但似乎无法将特征扩展到该比率。

例如,这可能是一个可能的解决方案:

    first_list = [8, 12, [1, 2, 3, 4]]
    second_list = [4, 6, [5, 6, 7, 8]]

因为第二个列表缩放给出:

    scaled_second_list = [8, 12, [10, 12, 14, 16]]

第二个列表现在具有与第一个列表相同的HEIGT和宽度,并且特征也被缩放,因此我可以继续进行进一步的比较。我希望Scaled_second_list继续。但是我似乎无法扩展特征。

预先感谢!

对于那些有兴趣的人;我正在尝试找到两个不同的矩形完美解剖。

由于您已经计算了比率,因此我认为您陷入了特征性的sublist缩放,因为它嵌套了。一个解决方案可能是这个问题,我相信这不是最优化,最优雅的方法,但它会起作用。

first_list = [8, 12, [1, 2, 3, 4]]
second_list = [4, 6, [5, 6, 7, 8]]
scaled_second_list = []
ratio = 3
for i in second_list:
    characteristic = []
    if isinstance(i, list):
        for j in i:
            characteristic.append(j*2)
        scaled_second_list.append(characteristic)
    else:
        scaled_second_list.append(i*2)
print scaled_second_list

我希望这会有所帮助!

最新更新