2015-10-13 64 views
0

我写一个Python代码,我试图找出哪些功能将是最好的执行以下任务计数行的列数:如何与Python

我想说“如果字的行数不等于1,做的东西”

#Some code 
words = line.split("\t") 
if sum(words) != 1 
#Do something 

#Some code 
words = line.split("\t") 
if int(words) != 1 
#Do something 

#Some code 
words = line.split("\t") 
if len(words) != 1 
#Do something 

所有这些命令返回以下错误:

File "test.py", line 10 
if len(words) != 1 
       ^
SyntaxError: invalid syntax 

谁能帮助?

+1

...你错过了结肠。 – jonrsharpe

+0

'len'应该做 – Noxeus

回答

6

由于在每个“if”语句后缺少冒号,因此您会收到此错误。另外,要获取单词中的元素数量,您应该使用len()而不是sum()。

if sum(words) != 1 
#Do something 

应该是这样的:

if len(words) != 1: 
#Do something 
1
if(len(line.split(" "))!=1) : 
    do something 
+0

split已经给出了一个列表,这是不正确的。 https://docs.python.org/2/library/stdtypes.html#str.split – Noxeus

+0

'line.split()'将返回一个列表,不需要'list()'它再次。 –

+0

@Ruben尽管split已经返回列表,但以前的答案会给出正确的答案 – AkaSh

0

你只需要检查spited列表的长度:

if len(words) != 1: 
    #Do your stuff here 
+0

感谢您的帮助,伙计:) – Gloom