试图在循环中解析列表

时间:2017-11-04 01:28:22

标签: python python-2.7

我有一个基本列表如下

data = "ffff,999,John Doe, Sam Adams"
mydata = data.split(',')

我希望能够检查第4个字段是否为空,如果将变量设置为第4个字段,则将变量设置为第3个字段。

我有以下代码

if mydata[3] is not None:
    name = mydata[3]
elif mydata[2] is not None:
    name = mydata[2]

第一部分有效,但如果我将数据设置为

data = "ffff,999,John Doe,"

代码没有做任何事情。我究竟做错了什么? 感谢

1 个答案:

答案 0 :(得分:0)

由于您拆分','并且数据有逗号,因此lst中的最后一项是空字符串

>>> data = "ffff,999,John Doe,"
>>>
>>> data.split(',')
['ffff', '999', 'John Doe', '']
>>> lst = data.split(',')
>>>
>>> lst[3] is not None
True

这就是split()的行为方式。

Python2.7 str.split()