我已经得到了下面的示例阵次数最多:过滤一个数组,只检索字符串开头
arr = ["0001_xyz_01", "0001_xyz_02", "0001_xyz_03", "0002_xyz_01", "0002_xyz_02", "0002_xyz_03", "0003_xyz_01", "0003_xyz_02", "0003_xyz_03"]
从这个数组,我想创建一个仅包含字符串的一个新的阵列与开始最高的数字。因此,新的阵列看起来像:
new_arr = ["0003_xyz_01", "0003_xyz_02", "0003_xyz_03"]
需要注意的是:
- 在构建
new_arr
只有前4个字符应该看 - 该字符串的其余部分必须被忽略。 arr
中物品的排列顺序可能会发生变化。arr
中的物品数量可能会有变化。
我想我可以用filter
,但我不知道如何:我
new_arr = filter(lambda x: <some-filtering-here>, arr)
+1解释。我喜欢你的解决方案,因为与其他解决方案相比,它不使用“split”。 – NinjaFart 2014-09-19 21:07:21
谢谢!很高兴,如果我的答案是有用的。 – 2014-09-19 21:10:54
对不起,我太快了。有些事情是错的。当它应该是'['0003_xyz_01','0003_xyz_02','0003_xyz_03']'时,它输出'['0003_xyz_03','0003_xyz_03','0003_xyz_03']'。 – NinjaFart 2014-09-19 21:21:47