Python将列表元素列表到另一个列表中的某些元素

时间:2017-12-01 10:10:14

标签: python list

我在Python中生成了近50万种以下类型的列表:

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

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

提前致谢!

对于那些感兴趣的人;我试图找到一个矩形的2个不同的完美解剖。

1 个答案:

答案 0 :(得分:0)

由于你已经计算了比率,我认为你因为它的嵌套而无法扩展特征子列表。 一个解决方案可能是这个,我相信这不是最优化和优雅的方式,但它会起作用。

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

我希望这有帮助!