将一个巨大的列表拆分为较小的列表并将项目附加到这些子列表中

时间:2021-01-09 20:20:28

标签: python list append sublist

我有一个从 csv 文件导入的巨大列表。这个列表有超过 40,000 个字符串元素。我想把每个元素分成一个独立的列表。

这是我列表中的摘录:

['090-102  XX.Abcdefg;Female;95 y más años;1985;24\n',
 '090-102  XX.Abcdefg;Female;95 y más años;1984;52\n', 
 '090-102  XX.Abcdefg;Female;95 y más años;1983;60\n', 
 '090-102  XX.Abcdefg;Female;95 y más años;1982;61\n', 
 '090-102  XX.Abcdefg;Female;95 y más años;1981;63\n', 
 '090-102  XX.Abcdefg;Female;95 y más años;1980;48\n']

我希望列表中的每个项目都被分成一个新列表,如下所示:

[['090-102  XX.Abcdefg,Female,95 y más años,1985,24\n']
 ['090-102  XX.Abcdefg,Female,95 y más años,1984,52\n'] 
 ['090-102  XX.Abcdefg,Female,95 y más años,1983,60\n'] 
 ['090-102  XX.Abcdefg,Female,95 y más años,1982,61\n'] 
 ['090-102  XX.Abcdefg,Female,95 y más años,1981,63\n'] 
 ['090-102  XX.Abcdefg,Female,95 y más años,1980,48\n']]

而且我还必须将新元素(来自其他两个列表的元素)插入到新的分隔子列表中:

other_list = ['XX','XX','XX','XX','XX','XX']
other_list2 = [20, 20, 20, 20, 20, 20]

所以我的最终输出如下所示:

[['090-102  XX', 'XX', 20, 'Abcdefg,Female,95 y más años, 1985, 24\n']
 ['090-102  XX', 'XX', 20, 'Abcdefg,Female,95 y más años, 1985, 24\n']
 ['090-102  XX', 'XX', 20, 'Abcdefg,Female,95 y más años, 1985, 24\n'] 
 ['090-102  XX', 'XX', 20, 'Abcdefg,Female,95 y más años, 1985, 24\n'] 
 ['090-102  XX', 'XX', 20, 'Abcdefg,Female,95 y más años, 1985, 24\n']
 ['090-102  XX', 'XX', 20, 'Abcdefg,Female,95 y más años, 1985, 24\n']]

我不知道是否应该先将项目附加到巨大的列表中,然后再将其分成子列表。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我假设您所有的列表长度相同,否则,您必须先填补空白。我看到您正在尝试从 3 个(或更多)列表中创建一个新列表,并且新列表的所有元素都具有相同的格式。您可能首先通过以下方式将第一个列表中的项目拆分为:

newList1=[]
for i in list11:
   newList1.append(i.split('.')) 

这会将列表中的每个元素转换为一个列表,其中第一项是点之前的任何内容,第二项是点之后的任何内容。然后将此列表添加到 newList1 变量中。

之后就是一个简单的for循环:

a = [['xx','xx'], ['yy', 'yy'] , [ 'zz', 'zz']]
b = [1,2,3]
c = [0, 00, 000]
newList2 = []
for i in range(len(a)):
    newList2.append(a[i][0]+str(b[i])+a[i][1]+str(c[i])) #adjust to your format