2017-01-10 36 views
1

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

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

我不认为这是列出的帖子的诱惑,这就是为什么我在我的回复中列出了该帖子,但没有将其标记为相同的诱惑。 OP需要分离元组列表。问题不明确,但这是代码显示的内容。 –

回答

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及其创建潜在的大型中间结构。有关更多信息,请参见here

相关问题