python–str.split()函数分割

  • Post author:
  • Post category:python


split的英文是分裂的意思

在python中表示根据某个字符,对字符串进行分割,然后以列表形式进行输出。


注意点:



1、split()默认分割


里面如果什么都不输入默认是空格


2、split(’\n’)单分割


里面如果写什么就是以什么进行分割

例如:(’\n’ , !@ # ¥ % ……&*()vb se)都可以


3、split(’ |!|?|.’, a)多分割


需要用到re模块,例如:

import re
prizes = '''
1 鹊桥相会,聊天动效  # 35%
'''
prize_list = re.split(r'[,#\n]',prizes)
print(prize_list)

输出结果:['', '1 鹊桥相会', '聊天动效  ', ' 35%', '']


4、split(’ ‘, 2)


如果字符串内有3个空格。只分割前面2个空格。且生成1个列表,后面如果还存在空格,不会进行分割,只会放在一个字符串里面。

a = "E 239113 hello world"
c = a.split(" ", 2)
print(c)

输出结果:['E', '239113', 'hello world']



我们如下列实战进行解析:

def prize():
    prizes = '''
1 鹊桥相会聊天动效 35%
2 燦若繁星封面特效 25%
'''
    prize_list = prizes.split('\n')#重点看这里
    for jp in prize_list:
        if jp == '' or jp =='    ' or jp == '\t':
            continue
        jp_list= jp.split()#重点看这里
        print(jp_list)
print(prize())

1、我们定义一个方法名为抽奖(prize),字符串命名为prizes。并且字符串里面包含空格,以及换行等等,我们需要对他们进行处理,才能转换为我们想要的列表格式。

def prize():
    prizes = '''
1 鹊桥相会聊天动效 35%
2 燦若繁星封面特效 25%
'''
	prize_list = prizes.split('\n')

2、根据上述,我们可以观察到,奖池是字符串形式,因此我们要进行分割。

通过代码我们得知

分割的点是换行(\n)

。那么我们就是,

用换行来进行一个节点的分割。

print(prize_list)

3、此时我们会输出一个prize_list查看返回的结果。

下面我们输出了一个结果,那就是每个换行会出现一个逗号,并且以列表形式进行输出。

['', '1 鹊桥相会聊天动效永久卡 35%', '2 燦若繁星封面特效x7天 25%', '']

4、因为输出的格式存在

空格字符串

,我们在对空格字符串进行下列处理

    for jp in prize_list:
        if jp == '' or jp =='    ' or jp == '\t':
            continue

5、用自定义的

jp

循环我们的

prize_list

,并且判断,如果有空格、四个空格,或者tab键进行跳过本次循环。


知识补习



continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。

注意:continue语句并没有使整个循环终止。

我们得出的

jp

结果如下:

1 鹊桥相会聊天动效 35%
2 燦若繁星封面特效 25%

6、上面目前有两个奖品,但是这还不是我们想要的结果。我们在此对jp进行分割,我们分割的目的是需要让他们独立为两个列表,如下:


split()里面如果什么都不输入默认是空格

        jp_list = jp.split()
        print(jp_list)

分割完成,最终的结果如下:

['1', '鹊桥相会聊天动效', '35%']
['2', '燦若繁星封面特效', '25%']



版权声明:本文为zhouzongxin94原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。