我正在尝试遍历列表中不一致的字符串,并且仅返回存在的许多字符串(之间还有空格)。以下是我所拥有的字段:
119|N|Thompson|Compl.
120|N|Thompson|InCompl.
121|W| |
我想要得到的预期输出是:
N Thompson Compl.
N Thompson Incompl.
W
我最初尝试了一个非常基本的功能:
def Split(field):
x = field.split("|")
return x[1] + " " + x[2] + " " + x[3]
但是,由于我的数据不一致并且并不总是具有索引2
和3
,因此它显然不起作用。我尝试枚举列表,但是我不确定从这里去哪里。
def Split(field):
x = field.split("|")
for idx, val in enumerate(x):
#do stuff
我只想返回有很多索引(索引0
始终是数字)。
答案 0 :(得分:3)
您可以使用join
获取任何列表的字符串:
def Split(field):
return ' '.join(field.split("|")[1:])
如果甚至没有一个字段,则需要try
和except
:
def Split(field):
try: return ' '.join(field.split("|")[1:])
except IndexError: return '' #Empty string if there is no index 1