对于我的作业,我必须将列表拆分两次: 我需要使用'+'从输入行拆分地址字符串,然后将结果列表的最后一部分拆分为','
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'
我可以使用哪些其他方法来做到这一点?
答案 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]
来说“最后”。它是相同的元素。