从嵌套的元素列表中弹出元素列表
Posted
技术标签:
【中文标题】从嵌套的元素列表中弹出元素列表【英文标题】:Pop List of elements from a nested list of elements 【发布时间】:2022-01-06 15:04:39 【问题描述】:X = [[1, 0], [1, 1], [1, 2], [1, 3], [1, 4], [1, 5], [1, 6], [1, 7], [1, 8], [1, 9], [2, 0], [2, 1], [2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], [3, 6], [3, 7], [3, 8], [3, 9], [4, 0], [4, 1], [4, 2], [4, 3], [4, 4], [4, 5], [4, 6], [4, 7], [4, 8], [4, 9], [5, 0], [5, 1], [5, 2], [5, 3], [5, 4], [5, 5], [5, 6], [5, 7], [5, 8], [5, 9], [6, 0], [6, 1], [6, 2], [6, 3], [6, 4], [6, 5], [6, 6], [6, 7], [6, 8], [6, 9], [7, 0], [7, 1], [7, 2], [7, 3], [7, 4], [7, 5], [7, 6], [7, 7], [7, 8], [7, 9], [8, 0], [8, 1], [8, 2], [8, 3], [8, 4], [8, 5], [8, 6], [8, 7], [8, 8], [8, 9], [9, 0], [9, 1], [9, 2], [9, 3], [9, 4], [9, 5], [9, 6], [9, 7], [9, 8], [9, 9]]
Y = [[9, 3], [9, 1], [5, 5], [7, 9], [0, 9], [4, 2], [7, 6], [5, 3], [6, 2], [8, 4], [5, 8], [4, 9], [7, 4], [3, 5], [6, 0], [5, 6], [6, 8], [4, 0], [6, 1], [8, 2], [7, 5], [9, 4], [9, 8], [9, 5], [6, 4]]
Z = []
如何获取从x到z的元素列表,其中x中y的所有元素都被删除
【问题讨论】:
你想要的输出是什么,但到目前为止你试过了吗??Z = [e for e in X if e not in Y]
?
你能举一个简短的例子说明输出应该是什么样子吗?
【参考方案1】:
将 X 和 Y 转换为元组集合而不是列表列表
Z 将是 x 和 y 的差值。
https://docs.python.org/3/library/stdtypes.html#frozenset.difference
【讨论】:
【参考方案2】:你可以做一个列表推导来创建Z
:
Z=[e for e in X if e not in Y]
然后使用切片分配执行另一个列表理解,以从第一步中“删除”元素:
X[:]=[e for e in X if e not in Z]
【讨论】:
以上是关于从嵌套的元素列表中弹出元素列表的主要内容,如果未能解决你的问题,请参考以下文章