我得到了一项任务,但是我被困了,我需要分析一个列表并将这些数字与符号分开并创建两个不同的列表,将数字添加到一个列表中,将符号添加到另一个列表中。现在我有这个清单:
[1, '+', '(', 2, '+', 3, ')']
我需要的是让其他两个列表看起来像这样:
numbers=[1,2,3]
symbols=['+','(','+',')']
同时保持原始列表完好无损。 我到目前为止的代码是:
def separador():
numbers=[]
symbols=[]
countlen=len(out1)
listcount=0
while listcount!=countlen:
pos=out1[listcount]
if pos==int:
numbers.append(pos)
elif sim=='+':
symbols.append(pos)
print(numbers)
print(symbols)
我试图通过将计数器与列表的长度进行比较来分析列表的每个部分,然后,将每个部分进行比较,好像是一个刺痛或数字,然后将它添加到正确的列表中。但它不起作用。请帮忙
答案 0 :(得分:3)
数字是整数,符号只是字符串:
numbers = [i for i in the_list if isinstance(i, int)]
symbols = [i for i in the_list if isinstance(i, str)]