在字段中拆分和删除值,Python

时间:2013-05-17 20:52:25

标签: python split

我正在尝试修复访问表中字段中的值。值看起来像这样

G45-f1
C43-m1
C6-h1
M90_N9-h1
K9_Y7-h2

我想在短划线“ - ”之前切掉所有内容并删除其余部分,如下所示:

G45
C43
C6
M90_N9
K9_Y7

我知道我可以在短划线x.split("-")处拆分值,但我不确定如何删除余数。任何建议都会受到欢迎。

3 个答案:

答案 0 :(得分:2)

str.split()总是返回一个至少包含一个元素的列表,只需选择结果的第一个元素来忽略其余元素:

x.split('-')[0]

您可能希望限制拆分计数,因为您丢弃了除第一部分以外的所有内容:

x.split('-', 1)[0]

答案 1 :(得分:1)

你可以使用str.split,但你也可以使用str.partition,它只会分裂到第一次出现并始终保证返回3元组...( head 分隔符尾部):

>>> print 'M90_N9-h1'.partition('-')[0]
M90_N9

这样做的好处是,如果您想要 tail ,那么即使分隔符不存在,它也将是一个空字符串,而不是IndexError异常str.split异常

答案 2 :(得分:0)

您可以创建新列表

newlist = [x.split('-')[0] for x in oldlist]