-1

对于我的作业,我必须将列表拆分两次:我需要使用“+”从输入行拆分地址字符串,然后在“,”处拆分结果列表的最后一部分</p>

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

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

我收到错误:“列表”对象没有属性“拆分”

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

4

3 回答 3

1

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

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

def parse_line(line):
    line = line.strip('\n')
    parts = line.split('+')
    addrs = parts[-1].split(',')
于 2013-03-05T05:19:51.947 回答
0

我会rpartition

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

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

b = a.split('+')
c = b[-1].split(',')
于 2013-03-05T05:20:21.580 回答
0

split对字符串应用,它会产生一个列表。因此,a是一个字符串,b是一个列表。你不能split列出清单。比方说a"X+Y,Z"b将是列表["X", "Y,Z"]。您要拆分的是列表的第一个(普通人的第二个)元素b- b[1].split(',')。这样就没有错误了。你也可以说“最后”,通过说b[-1]。它是相同的元素。

于 2013-03-05T05:21:11.973 回答