在下面的代码中,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)
Run Code Online (Sandbox Code Playgroud)
我尝试将print(手机)进行测试,它看起来很棒,并返回'5557877777'等行,但返回列表= ['5','5'等]并且数字被拆开.
return listoutput
Run Code Online (Sandbox Code Playgroud)
您将使用listoutput.append()函数而不是listoutput.extend()
>>> p='12345'
>>> l=[]
>>> l.extend(p)
>>> l
['1', '2', '3', '4', '5']
>>> ll = []
>>> ll.append(p)
>>> ll
['12345']
Run Code Online (Sandbox Code Playgroud)
扩展功能: 通过附加给定列表中的所有项来扩展列表