首页 > 解决方案 > 使用 Python 将单个列表分成 2 个列表

问题描述

我有一个清单

['2', '16SCSE102014', '15/03/2019', '16SCSE101350', '15/03/2019', '1', '16SCSE102020', '02/02/2020'] 

我想分成 2 个列表作为

['16SCSE102014','16SCSE101350','16SCSE102020'] 

['15/03/2019','15/03/2019','02/02/2020']

'2'和中的数字是指示将要跟随'1'的对数的标记。('16SCSE102020','Date')

标签: python

解决方案


好吧,一个非常直接的解决方案是遍历列表,忽略标记('1','2'等),因为它们似乎没有真正的用途,并按顺序向您插入结果列表(如果您的输入是确实如您的示例中所示订购,否则一个简单的正则表达式可以做到,如果您需要它请通知我)所以代码将是:

strings, dates = [], []
i = 0
while i <len(input_list):
    if not input_list[i].isdigit(): 
        strings.append(input_list[i])
        i += 1
        dates.append(input_list[i])
    i += 1

因此代码假定您的字符串不能被插入为数字(为标记保留)并且输入按您显示的方式排序


推荐阅读