虽然写得不好,这段代码:
marker_array = [['hard','2','soft'],['heavy','2','light'],['rock','2','feather'],['fast','3'], ['turtle','4','wet']]
marker_array_DS = []
for i in range(len(marker_array)):
if marker_array[i-1][1] != marker_array[i][1]:
marker_array_DS.append(marker_array[i])
print marker_array_DS
回报:
[['hard', '2', 'soft'], ['fast', '3'], ['turtle', '4', 'wet']]
它完成了部分任务,即创建一个包含所有嵌套列表的新列表,除了那些在索引 [1] 中具有重复值的列表。但我真正需要的是连接删除列表中的匹配索引值,创建如下列表:
[['hard heavy rock', '2', 'soft light feather'], ['fast', '3'], ['turtle', '4', 'wet']]
索引 [1] 中的值不得串联。我设法使用另一篇文章的提示完成了连接部分:
newlist = [i + n for i, n in zip(list_a, list_b]
但我正在努力找出产生预期结果的方法。“marker_array”列表在传递给此代码之前已经按升序排序。索引 [1] 位置中的所有相似值都是连续的。一些嵌套列表可能没有超出 [0] 和 [1] 的任何值,如上所示。