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

2024-10-05 13:28:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我对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]
]

请帮帮我,谢谢!你知道吗


Tags: none列表one帮帮我asign
3条回答

通过使用numpy

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:]))

请考虑使用loop为hstack构建适当的元组参数

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

我宁愿选择字典法。关于python教程,我推荐http://www.afterhoursprogramming.com/tutorial/Python/Overview/

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]]
]
asign_dict = {}
for data in asign:
    for more_data in data:
        if more_data[0] in asign_dict:
            asign_dict[more_data[0]].extend(more_data[1:])
        else:
            asign_dict[more_data[0]] = more_data[1:]

print asign_dict

相应的输出

{
 '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]
}

相关问题 更多 >

    热门问题