csz9981
2022-05-15 10:18
采纳率: 92.9%
浏览 6
已采纳

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

  • csz9981 2022-05-16 21:09
    最佳回答
    
    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']
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
查看更多回答(2条)