遍历和操作 python 中的嵌套列表

Iterating through and manipulating nested lists in python

我有一个包含超过一千个子列表的嵌套列表

x=[[1,2,4,4,5],[1,2,5,4,5],[1,2,5,4,5],[1,2,4,4,5],[1,2,3,4,5]....] 

我想对此进行迭代并检查所有子列表中的特定整数序列。如果连续三个子列表中的第三个元素{x[2]}的顺序是4,5,5,那么我想单独将这些整数的值分别替换为9,10和11。在上面提供的示例中,我的新列表看起来像

x=[[1,2,9,4,5],[1,2,10,4,5],[1,2,11,4,5],[1,2,4,4,5],[1,2,3,4,5],....]

我正在使用 python 2.7。任何投入将不胜感激。

这个相对于在python中使用了enumerate关键字。

特别是在您的情况下,因为似乎所有嵌套列表都处于同一级别,您可以只遍历顶级列表:

for index, item in enumerate(x):
    if (item[2], x[index+1][2], x[index+2][2]) == (4, 5, 5):
        item[2] = 9
        x[index+1][2] = 10
        x[index+2][2] = 11

就是说,这里有一些您需要处理的极端情况,我不会向您灌输答案。具体来说,当我们开始到达列表末尾时有什么问题吗?

此外,上面的代码不是很好,您可以使其更加实用和通用。这只涵盖了基本情况。

这应该是概念验证,但您应该确保自己理解这一点并且可以在进一步尝试之前添加内容。