Python LIST - 重新排序元素(List comprehension)

时间:2017-09-24 05:01:49

标签: python

我有这样的清单:

list = [1,2,3,4,5,6,7,8,9]

然后重新排序:

list2 = [[1,4,7],[2,5,8],[3,6,9]]

基本上用列表理解将它与第4和第7个元素相匹配,第二个元素用第5和第8个,第三个用第6和第9个元素,所以跳过每两个值。

1 个答案:

答案 0 :(得分:0)

您可以创建列表理解表达式,如:

  • 如果您想根据广告管理系统的“计数”划分列表

    >>> bucket_count = 3
    >>> my_list = [1,2,3,4,5,6,7,8,9,10,11,12]
    
    >>> [my_list[i::bucket_count] for i in range(bucket_count)]
    [[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]
    
  • 如果您想根据广告素材的“尺寸”划分列表

    >>> bucket_size = 3
    >>> bucket_count = len(my_list)/bucket_size  # Calculate bucket count based on size
    
    # Same logic as above
    >>> [my_list[i::bucket_count] for i in range(bucket_count)]
    [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]