提取集合中的元组
我有这个集合的样本: {(1, 1, 5), (1, 2, 4), (1, 3, 3), (1, 4, 2), (1, 5, 1), (2 , 1, 4), (2, 2, 3)}。
现在我需要删除包含一些特定数字的元组。例如:从该集合中删除包含 [4,5] 的元组,因此样本的输出应为:{(1, 3, 3), (2, 2, 3)}。
我用这段代码找到了所有组合,但我现在被困住了。
def compositions(k, n):
if n==0:
return []
if k == 1:
return [(n,)]
comp = []
for i in range(n + 1):
for t in compositions(k - 1, n - i):
if i>0:
comp.append((i,) + t)
return set(comp)
compositions(3, 7)
我该怎么做?
预先非常感谢您。
I have this sample of set: {(1, 1, 5), (1, 2, 4), (1, 3, 3), (1, 4, 2), (1, 5, 1), (2, 1, 4), (2, 2, 3)}.
Now i need to remove the tuples that contains some specific numbers. For example: From this set, remove the tuples that contain [4,5], so the output should be this: {(1, 3, 3), (2, 2, 3)} for the sample.
I used this code to find all combinations but i'm stucked now.
def compositions(k, n):
if n==0:
return []
if k == 1:
return [(n,)]
comp = []
for i in range(n + 1):
for t in compositions(k - 1, n - i):
if i>0:
comp.append((i,) + t)
return set(comp)
compositions(3, 7)
How can i do this?
Thank you very much in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这可以通过一行代码来完成。
印刷:
This can be accomplished with a one-liner.
Prints:
你可以尝试这样的事情。
You can try something like this.