我有一个列表,我需要通过'过滤器'提取某些匹配值。问题是'append'方法似乎在附加匹配值时创建了一个数组。如何更改此行为?
我的代码:
v_Files = ['aaa.mp3', 'hhh.mp4', 'jjj.txt', 'uuu.xls', 'ujh.mp3', 'hun.m4p']
print("Files list: %s") %(v_Files)
v_NewFiles = (filter(lambda element: 'mp3' in element, v_Files))
v_NewFiles.append(filter(lambda element: 'mp4' in element, v_Files))
v_NewFiles.append(filter(lambda element: 'm4p' in element, v_Files))
print("New files list: %s") %(v_NewFiles)
输出:
Files list: ['aaa.mp3', 'hhh.mp4', 'jjj.txt', 'uuu.xls', 'ujh.mp3', 'hun.m4p']
New files list: ['aaa.mp3', 'ujh.mp3', ['hhh.mp4'], ['hun.m4p']]
可以看出,'append'方法中的新列表已经变得一团糟。
反馈将不胜感激。感谢。
答案 0 :(得分:0)
我找到了答案。似乎在我的推动中超越初学者我忘了一些基本的东西。我找到了this。似乎我忘记了'延伸'。
使用'extend'代替'append'解决了我的问题。