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

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条)

报告相同问题?

问题事件

  • 系统已结题 5月24日
  • 已采纳回答 5月16日
  • 创建了问题 5月15日