【发布时间】:2016-08-05 17:18:53
【问题描述】:
我有一个这样的 CSV 字符串:
foo = "value0,value1,value2,value3,value4".split(",")
test(foo)
我正在使用 split 将此字符串拆分为一个数组。然后我有一个函数,它接受数组并将这些值分配给一些内部变量:
def test(foo):
var0 = foo[0]
var1 = foo[1]
var2 = foo[2]
var3 = foo[3]
var4 = foo[4]
return
问题是我可以有一些这样的缺失值:
foo = "value0,value1,,,value4".split(",")
在这种情况下拆分会创建一个更小的数组:
print(foo) # ['value0','value1','value4']
所以当我调用我的函数时它不起作用并且 value4 错误地关联到 var2 (它应该关联到 var4 )。
有没有办法强制拆分创建空元素?感谢您的任何提示。
【问题讨论】:
-
在这种情况下拆分会创建一个更小的数组 真的吗?如果我拆分
"value0,value1,,,value4",我会得到['value0', 'value1', '', '', 'value4'],这是我所期望的 -
我用的是python 2.7,可以完美拆分。
-
@LingboTang 无论python的版本如何,它的工作方式都是一样的。我不知道 OP 在做什么
-
这是一个非常简单的正则表达式:
/,+/ -
@self 这实际上与 OP 想要的相反(据我了解)