如何使列表理解将元组提取到2个不同的列表?

时间:2017-01-10 07:02:34

标签: python-2.7 list sorting coordinates

在给定代码中,我从data_points列表中提取包含字典的第一列。字典的键包含(x,y)坐标的元组。我从键中提取minX和minY。我该如何压缩代码?

    x_list = []
    y_list = []
    keys = data_points[0].keys()
    for i in keys:
        x_list.append(i[0])
        y_list.append(i[1]) 

    min_value = (min(x_list), min(y_list))

1 个答案:

答案 0 :(得分:1)

zip可用于组合,以及单独的列表/元组。您没有提供任何样本数据,因此我将假设:

data_points = [{
    (3, 0): None,
    (1, 2): None,
}]
keys = data_points[0].keys()

相当于你的代码的一行,它分割元组并获得分钟:

min_value = (min(zip(*keys)[0]), min(zip(*keys)[1]))

在python 2中有一些带有zip的注意事项,并且它创建了潜在的大型中间结构。有关详细信息,请参阅here