list1=re.split(pattern,str1)分隔后,list1多了一个空元素,应当怎样去掉空元素?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
import re

for a in range(5):
    print(f'@stu{a}',end=' ') # 生成str1

print()
str1='@stu0 @stu1 @stu2 @stu3 @stu4 '
pattern=r'\s*@'
list1=re.split(pattern,str1) # 把str1按照pattern分隔,
print('1',list1)

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

去掉第一个空元素,

img


import re
str1='@stu0 @stu1 @stu2 @stu3 @stu4'
pattern=r'\s*@'
list1=re.split(pattern,str1) # 把str1按照pattern分隔,
print('1',list1) # 1 ['', 'stu0', 'stu1', 'stu2', 'stu3', 'stu4']

del list1[0]
print('2',list1) # 2 ['stu0', 'stu1', 'stu2', 'stu3', 'stu4']

pattern=r'\s+@'
list1=re.split(pattern,str1) # 把str1按照pattern分隔,
print('3',list1) # 3 ['@stu0', 'stu1', 'stu2', 'stu3', 'stu4']

import re
str1='@stu0 @stu1 @stu2 @stu3 @stu4 '
pattern=r'\s+@' #*改为+
list1=re.split(pattern,str1) # 把str1按照pattern分隔,
print('1',list1)

import re
 
for a in range(5):
    print(f'@stu{a}',end=' ') # 生成str1
 
print()
str1='@stu0 @stu1 @stu2 @stu3 @stu4 '
pattern=r'\s*@'
list1=re.split(pattern,str1) 
del list1[0]
print('1',list1)