带有两个参数的split函数返回

2024-09-29 21:21:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python编写一个非常简单的代码,因为我不明白如果我们有两个参数,line.split是如何工作的。但是,这段代码返回一个错误,我也不明白line.split的用途。你能帮帮我吗?在

from operator import itemgetter
import sys

word = None
count = 0
line= 'foo     1' \
      ''

line = line.strip()
try:
    word, count = line.split('\t', 1)
except:
    print('error')

count = int(count)
print(word, count)

Tags: 代码fromimport参数count错误line用途
3条回答

Split根据传递给它的分隔符返回字符串拆分的单个列表。在

'hey, you'.split(',')返回['hey', ' you'],如果提供两个变量,则可以对其进行解压缩。在

如果要拆分的字符串拆分为两个以上值的列表,则会出现错误ValueError: too many values to unpack

在您的例子中,只需检查split的输出是什么,它可能是一个只包含一个元素foo 1的列表,该元素无法解包。在

究竟返回了什么错误消息?如果它是由line.split('\t')行引起的ValueError,那么这可能意味着该字符串实际上并不包含制表符,而是包含许多空格。如果要在制表符或空格上拆分字符串,请省略参数:line.split()

line.split('\t')只返回一个值,而通过word, count您需要两个值,因此会导致错误:ValueError: not enough values to unpack (expected 2, got 1)

如果在split函数中不带任何参数将该行更改为word, count = line.split(),则默认情况下,它将在任何空白处拆分,并正确返回预期的两个值,不会出错。在

相关问题 更多 >

    热门问题