拆分列表然后拆分该列表的最后一个元素

时间:2013-03-05 05:17:07

标签: python python-2.7 split

对于我的作业,我必须将列表拆分两次: 我需要使用'+'从输入行拆分地址字符串,然后将结果列表的最后一部分拆分为','

in_file = open('yelp-short.txt')

def parse_line(text_file):
    a = text_file.strip('\n')
    b = a.split('+')
    c = b.split(',')
    print c

我收到错误:'list'对象没有属性'split'

我可以使用哪些其他方法来做到这一点?

3 个答案:

答案 0 :(得分:1)

提示是您拆分结果列表的最后一部分

因此,您想要拉出最后一部分并将其拆分:

def parse_line(line):
    line = line.strip('\n')
    parts = line.split('+')
    addrs = parts[-1].split(',')

答案 1 :(得分:0)

我会rpartition

>>> 'a+b+c,d,e'.rpartition('+')[-1].split(',')
['c', 'd', 'e']

问题是您正在尝试拆分列表,而不是字符串。您需要从该列表中获取特定项目:

b = a.split('+')
c = b[-1].split(',')

答案 2 :(得分:0)

您在字符串上应用split,并生成一个列表。因此,a是一个字符串,b是一个列表。你不能split一个清单。假设a"X+Y,Z"b将成为["X", "Y,Z"]列表。您要分割的是列表b - b[1].split(',')中的第1个(普通人的第2个)元素。这样就没有错误。你也可以说b[-1]来说“最后”。它是相同的元素。