1

在下面的代码中,getreport是一个由/t和格式化的文本项/n。我正在尝试输出电话号码列表,但返回列表如下所示:['5','5','5','7','8','7', ...]等等,而不是 ['5557877777'] 之类的东西。这里有什么问题?

def parsereport(getreport):
listoutput = []
lines = re.findall(r'.+?\n' , getreport) #everything is in perfect lines
for m in lines:
    line = m
    linesplit = line.split('\t')  # Now I have a list of elements for each line
    phone = linesplit[0]  # first element is always the phone number ex '5557777878'
    if is_number(linesplit[10]) == True:
            num = int(linesplit[10])
            if num > 0:
                listoutput.extend(phone) 

我尝试将 print(phone) 进行测试,它看起来很棒并返回 '5557877777' 等行,但返回列表 = ['5','5',etc] 并且数字被拆开。

return listoutput
4

2 回答 2

6

您将使用listoutput.append()函数而不是listoutput.extend()

>>> p='12345'
>>> l=[]
>>> l.extend(p)
>>> l
['1', '2', '3', '4', '5']
>>> ll = []
>>> ll.append(p)
>>> ll
['12345']

扩展功能: 通过附加给定列表中的所有项目来扩展列表

于 2013-09-20T04:58:31.493 回答
0
>>> Numbers = ['1', '2', '3', '4', '5']
>>> NumbersJoined = []
>>> NumbersJoined.append(''.join(Numbers))
>>> print NumbersJoined
['12345']
于 2013-09-20T07:23:54.367 回答