附加中的奇怪行为

时间:2014-06-08 02:51:11

标签: python arrays append

我有一个列表,我需要通过'过滤器'提取某些匹配值。问题是'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'方法中的新列表已经变得一团糟。

反馈将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

我找到了答案。似乎在我的推动中超越初学者我忘了一些基本的东西。我找到了this。似乎我忘记了'延伸'。

使用'extend'代替'append'解决了我的问题。