|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 康小泡 于 2018-2-24 17:05 编辑
不再粘贴全部代码,仅就不明白地方向各位大神求助:
- f = open('record.txt')
- boy = []
- girl = []
- count = 1
- for each_line in f:
- if each_line[:6] != '======':
- (role,line_spoken) = each_line.split(':',1) [color=Red]# 问题就出在这里,主要还是对 split 用法的不解。[/color]
- if role == '小甲鱼':
- boy.append(line_spoken)
- if role == '小客服':
- girl.append(line_spoken)
- each_line.split(':',1) # 问题就出在这里,主要还是对 split 用法的不解。
复制代码
按照小甲鱼的举例:
split(sep=None, maxsplit=-1)
不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
这句话感觉不太好理解,什么叫仅分割 maxsplit 个字符串??
split(':',1) 语句中,‘:’ 作为分割的标识能够明白,后面的那个 1 是什么意思?这个 1 ,在字符串切片时的运行逻辑是什么样的??
如果可以,最好能够举例说明,谢谢各位大神啦。
举个例子:
- >>> a = 'a1b1c1d1f1e1f'
- >>> a.split('1')
- ['a', 'b', 'c', 'd', 'f', 'e', 'f'] #把所有的'1‘作为分隔,共分为6个字符串
- >>> a.split('1', maxsplit = 1)
- ['a', 'b1c1d1f1e1f'] #把第1个’1‘作为分隔,共分为2个字符串
- >>> a.split('1', maxsplit = 3)
- ['a', 'b', 'c', 'd1f1e1f']#把前3个’1‘作为分隔,共分为4个字符串
- >>> a.split('1', 3)
- ['a', 'b', 'c', 'd1f1e1f']#同上个操作,即maxsplit可以不写
复制代码
|
|