在python中如何将单个列表拆分为多个列表?

在python中如何将单个列表拆分为多个列表?,python,list,python-2.7,numpy,Python,List,Python 2.7,Numpy,我对python知之甚少。如果我有如下列表 asign=[ [['2013-11-14', 52, None, None], ['2013-11-15', 74, None, None], ['2013-11-16', 189, None, None],['2013-11-17', 27, None, None], ['2013-11-18', 11, None, None], ['2013-11-19', 14, None, None],['2013-11-20', 0, None, None

我对python知之甚少。如果我有如下列表

asign=[
[['2013-11-14', 52, None, None], ['2013-11-15', 74, None, None], ['2013-11-16', 189, None, None],['2013-11-17', 27, None, None], ['2013-11-18', 11, None, None], ['2013-11-19', 14, None, None],['2013-11-20', 0, None, None]],
[['2013-11-14', 129, None, None], ['2013-11-15', 113, None, None],['2013-11-16', 58, None, None], ['2013-11-17', 34, None, None], ['2013-11-18', 14, None, None],['2013-11-19', 13, None, None], ['2013-11-20', 0, None, None]],
[['2013-11-14', 56, None, None],['2013-11-15', 75, None, None], ['2013-11-16', 29, None, None], ['2013-11-17', 156, None, None],['2013-11-18', 46, None, None], ['2013-11-19', 85, None, None], ['2013-11-20', 6, None, None]],
[['2013-11-14', 111, None, None], ['2013-11-15', 227, None, None], ['2013-11-16', 166, None, None],['2013-11-17', 145, None, None], ['2013-11-18', 23, None, None], ['2013-11-19', 36, None, None],['2013-11-20', 1, None, None]], 
[['2013-11-14', 22, None, None], ['2013-11-15', 20, None, None],['2013-11-16', 13, None, None],['2013-11-17', 12, None, None], ['2013-11-18', 10, None, None],['2013-11-19', 2, None, None], ['2013-11-20', 6, None, None]], 
[['2013-11-14', 33, None, None],['2013-11-15', 28, None, None], ['2013-11-16', 35, None, None], ['2013-11-17', 14, None, None],['2013-11-18', 14, None, None], ['2013-11-19', 6, None, None], ['2013-11-20', 1, None, None]],
[['2013-11-14', 28, None, None], ['2013-11-15', 35, None, None], ['2013-11-16', 20, None, None],
['2013-11-17', 7, None, None], ['2013-11-18', 15, None, None], ['2013-11-19', 14, None, None],
['2013-11-20', 0, None, None]]  
]
如何将此列表转换为下面的列表

[
['2013-11-14', 52, None, None, 129, None, None, 56, None, None, 111, None, None,
 22, None, None, 33, None, None, 28, None, None],
['2013-11-15', 74, None, None, 113, None, None, 75, None, None, 227, None, None, 20, None, None, 28, None, None,35, None, None],
['2013-11-16', 189, None, None, 58, None, None, 29, None, None,166, None, None, 13, None, None, 35, None, None, 20, None, None],
['2013-11-17', 27, None, None, 34, None, None, 156, None, None, 145, None, None, 12, None, None,14, None, None, 7, None, None],
['2013-11-18', 11, None, None, 14, None, None, 46, None, None, 23, None, None, 10, None, None, 14, None, None, 15, None, None],
['2013-11-19', 14, None, None, 13, None, None, 85, None, None, 36, None, None, 2, N
one, None, 6, None, None, 14, None, None],
['2013-11-20', 0, None, None, 0, None,None, 6, None, None, 1, None, None, 6, None, None, 1, None, None, 0, None, None]
]

请帮帮我,谢谢

老实说,对我来说这听起来像是个家庭作业问题,但那只是我的问题。我不同意做别人的家庭作业,但是我会帮你做我会做的事。我会把每个清单从主清单中分离出来。然后,我将使用if语句执行for循环来对它们进行排序。请记住,如果你这样做是为了引用你正在寻找的商品。在if语句之后,将其追加到新列表中。我希望这能有所帮助。

我宁愿采用字典法。至于python教程,我建议

相应输出

{
 '2013-11-14': [52, None, None, 129, None, None, 56, None, None, 111, None, None, 22, None, None, 33, None, None, 28, None, None],
 '2013-11-15': [74, None, None, 113, None, None, 75, None, None, 227, None, None, 20, None, None, 28, None, None, 35, None, None],
 '2013-11-16': [189, None, None, 58, None, None, 29, None, None, 166, None, None, 13, None, None, 35, None, None, 20, None, None],
 '2013-11-17': [27, None, None, 34, None, None, 156, None, None, 145, None, None, 12, None, None, 14, None, None, 7, None, None],
 '2013-11-18': [11, None, None, 14, None, None, 46, None, None, 23, None, None, 10, None, None, 14, None, None, 15, None, None],
 '2013-11-19': [14, None, None, 13, None, None, 85, None, None, 36, None, None, 2, None, None, 6, None, None, 14, None, None],
 '2013-11-20': [0, None, None, 0, None, None, 6, None, None, 1, None, None, 6, None, None, 1, None, None, 0, None, None]
}

这似乎是Numpy的工作,但我知道的还不够。对于标准库,我的解决方案与Ashish Nitin Patil没有太大区别回答:

def add(obj):
    head = obj[0]
    if head in heads:
        result[heads.index(head)].extend(obj[1:])
    else:
        heads.append(head)
        result.append(obj)

result, heads = [], []
unique = [obj for level1 in asign for obj in level1]
map(add, unique)
print result
通过使用numpy


请考虑使用循环来为HSTAST/P>建立适当的元组参数,你能详细说明你想做什么吗?很难从一堵无法理解的巨大数据墙中解读您的意图。您确定不希望最终结果出现在字典中,其值为分组列表吗?asign[0][0][0]包含日期,我想根据日期将数组分开。我可以将asign_dict转换成我上面提到过的格式的列表,对吗?你需要做一些像[[key]+value for key,value in asign_dict.items]这样的事情来得到一个列表。+1,你可以像这样使用循环-np.hstack[data[0]+[data[i,:,1:]for i in range1,lendata]

def add(obj):
    head = obj[0]
    if head in heads:
        result[heads.index(head)].extend(obj[1:])
    else:
        heads.append(head)
        result.append(obj)

result, heads = [], []
unique = [obj for level1 in asign for obj in level1]
map(add, unique)
print result
    asign = asign=[
[['2013-11-14', 52, None, None], ['2013-11-15', 74, None, None], ['2013-11-16', 189, None, None],['2013-11-17', 27, None, None], ['2013-11-18', 11, None, None], ['2013-11-19', 14, None, None],['2013-11-20', 0, None, None]],
[['2013-11-14', 129, None, None], ['2013-11-15', 113, None, None],['2013-11-16', 58, None, None], ['2013-11-17', 34, None, None], ['2013-11-18', 14, None, None],['2013-11-19', 13, None, None], ['2013-11-20', 0, None, None]],
[['2013-11-14', 56, None, None],['2013-11-15', 75, None, None], ['2013-11-16', 29, None, None], ['2013-11-17', 156, None, None],['2013-11-18', 46, None, None], ['2013-11-19', 85, None, None], ['2013-11-20', 6, None, None]],
[['2013-11-14', 111, None, None], ['2013-11-15', 227, None, None], ['2013-11-16', 166, None, None],['2013-11-17', 145, None, None], ['2013-11-18', 23, None, None], ['2013-11-19', 36, None, None],['2013-11-20', 1, None, None]], 
[['2013-11-14', 22, None, None], ['2013-11-15', 20, None, None],['2013-11-16', 13, None, None]['2013-11-17', 12, None, None], ['2013-11-18', 10, None, None],['2013-11-19', 2, None, None], ['2013-11-20', 6, None, None]], 
[['2013-11-14', 33, None, None],['2013-11-15', 28, None, None], ['2013-11-16', 35, None, None], ['2013-11-17', 14, None, None],['2013-11-18', 14, None, None], ['2013-11-19', 6, None, None], ['2013-11-20', 1, None, None]],
[['2013-11-14', 28, None, None], ['2013-11-15', 35, None, None], ['2013-11-16', 20, None, None],
['2013-11-17', 7, None, None], ['2013-11-18', 15, None, None], ['2013-11-19', 14, None, None],
['2013-11-20', 0, None, None]]  
]
    mydata = []
        for i in range(0,6):
            data = []
            for each in asign:
                if each[i][0] not in data:
                    data.append(each[i][0])
                del each[i][0]
                data.extend(each[i])
            mydata.append(data)
        print mydata
import numpy as np
data = np.array(asign)

np.hstack((data[0], data[1, :, 1:], data[2, :, 1:],
          data[3, :, 1:], data[4, :, 1:], data[5, :, 1:],
          data[6, :, 1:]))