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



在给定的代码中,我正在从包含字典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))

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 及其创建的潜在大型中间结构有一些注意事项。 有关更多信息,请参阅此处。

最新更新