将项目提取到单独的列表

2024-04-26 14:44:40 发布

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

我正在尝试将特定的字符串提取到单独的列表中。你知道吗

如果我的输入是[a1, a2, a3] [b1, b2, b3] [c1, c2, c3, c4]形式,那么我的输出应该有一个列表,其中只包含每个集合中的第一个元素,另一个列表包含列表中的其余元素。你知道吗

output_list_1 = [[a1] [b1] [c1]]
output_list_2 = [[a2, a3] [b2, b3] [c2,c3,c4]]

我可以用

output_list_1 = re.findall( r'\[(?=([a-z0-9.]+))',str(input_list))

如何提取output_list_2?你知道吗


Tags: 字符串a2元素列表outputa1b2a3
2条回答

不将input_list转换为字符串

input_list = [[a1, a2, a3] [b1, b2, b3] [c1, c2, c3, c4]]
output_list1 = [sublist[0] for sublist in input_list]
output_list2 = [sublist[1:] for sublist in input_list]

从更广泛的意义上说,这可能是一个更好的方法来做你想做的事情

output_list = [(sublist[0], sublist[1:]) for sublist in q]

在本例中,在output_list上迭代将如下所示

for first, rest b in output_list:
    print first, rest

它打印a1, [a2, a3]

>>> q=[[1,2,3],[1,2,3],[1,2,3]]
>>> out = [[list[0] for list in q],[list[1:] for list in q]]

相关问题 更多 >