Pythonic在处理新的lis之前遍历多个列表以删除元素的方法

2024-10-03 23:29:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表类,其值表示图中的节点。你知道吗

List x= [5, 1, 2, 4]
        [5, 1, 2, 4]
        [5, 1, 2, 4]
        [5, 1, 2, 4]

如何从第一个列表中删除第一个元素,从第二个列表中删除第二个元素,从第三个列表中删除第三个元素等等,然后使用剩余的每个列表绘制图形。i、 我将得到4个不同的情节。我希望得到:

NewList x= [1, 2, 4]
           [5, 2, 4]
           [5, 1, 4]
           [5, 1, 2]

这是我的代码的开始。你知道吗

tG = G.copy()
orderToRemoveNodes = 5,1,2,4
myNodes = 1, 2, 4 ,5
    for n in mynodes:
        e = removedNode
        setRemoved = [list(x) for x in set(map(frozenset, e))]
        res = list(map(int, orderToRemoveNodes))
        for i in res:
            if i == n:
                tG.remove_node(i)
                tG.add_edges_from(setRemoved)
                nx.draw(tG)
                plt.show()

这是打印输出(type(res))

<class 'list'>
<class 'list'>
<class 'list'>
<class 'list'>

说实话,我不知道该怎么办。我唯一需要的部分是如何在列表中为每个后续的元素逐个迭代名单。谢谢你呢


Tags: in图形元素map列表for节点绘制
1条回答
网友
1楼 · 发布于 2024-10-03 23:29:10

如果你有

big_list = [[5, 1, 2, 4],
            [5, 1, 2, 4],
            [5, 1, 2, 4],
            [5, 1, 2, 4]]

并且要删除第0个列表的第0个索引、第1个列表的第1个索引、第2个列表的第2个索引,依此类推。。。你知道吗

[[el for i, el in enumerate(sublst) if i != j] for j, sublst in enumerate(big_list)]

这将提供:

result = [[   1, 2, 4],
          [5,    2, 4],
          [5, 1,    4],
          [5, 1, 2   ]]

相关问题 更多 >