Jerry~Mouse 发表于 2022-3-16 19:47:20

字符串操作split的错误不是很明白

for each_line in f:
    if each_line != '======':
      (role,line_spoken) = each_line.split(':',1)
      if role == '小甲鱼':
            boy.append(line_spoken)
      if role == '小客服':
            girl.append(line_spoken)      

(role,line_spoken) = each_line.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)

这个是什么错误呢?我非常不理解的是 我的代码和小甲鱼课上的代码一摸一样 但是我这里报错了 这是为啥

isdkz 发表于 2022-3-16 19:50:09

本帖最后由 isdkz 于 2022-3-16 19:52 编辑

因为你有一些行并没有英文冒号,所以分割后的列表只有一个元素,

而你左边的元组有两个元素,所以就出错了,你可以加个判断:


for each_line in f:
    if each_line != '======' and ':' in each_line:                   # 这里加个判断
      (role,line_spoken) = each_line.split(':',1)
      if role == '小甲鱼':
            boy.append(line_spoken)
      if role == '小客服':
            girl.append(line_spoken)      

wp231957 发表于 2022-3-16 19:51:29

这个提示就是说split取不到   这时十有八九就是你的冒号全角半角整错了
要是不知道啥是全角半角,那只能建议你百度

Jerry~Mouse 发表于 2022-3-17 14:21:19

isdkz 发表于 2022-3-16 19:50
因为你有一些行并没有英文冒号,所以分割后的列表只有一个元素,

而你左边的元组有两个元素,所以就出错 ...

昨天我仔细看了一下这行代码 我已经想挖个洞钻进去了 each_line[:6]这个6前面没有冒号 对不起 我想把帖子删了
页: [1]
查看完整版本: 字符串操作split的错误不是很明白