我试图从Python中的嵌套列表中删除项目.我有一个嵌套列表如下:
families = [[0, 1, 2],[0, 1, 2, 3],[0, 1, 2, 3, 4],[1, 2, 3, 4, 5],[2, 3, 4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
我想删除每个子列表中的条目,这些条目与主列表中子列表的索引位置相同.因此,例如,我需要从第一个子列表中删除0,从第二个子列表中删除1,等等.我正在尝试使用列表理解来执行此操作.这是我尝试过的:
familiesNew = [ [ families[i][j] for j in families[i] if i !=j ] for i in range(len(families)) ]
Run Code Online (Sandbox Code Playgroud)
这适用于range(len(families))最多3个,但超出了我的范围IndexError: list index out of range.我不知道为什么.有人可以告诉我如何做到这一点.优选地是单行(列表理解).
谢谢.
我试图让 SWIG 识别一个简单的预处理器宏,该宏根据另一个定义和更复杂的函数“定义”一个新函数。所以,在 C 头文件中我有:
#define FOO 1
#define my_macro_fun(args) my_fun(args,FOO)
Run Code Online (Sandbox Code Playgroud)
SWIG 看到并成功换行my_fun,但我希望它换行my_macro_fun。